@gusto/embedded-react-sdk 0.51.0 → 0.51.2
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 +18 -0
- package/dist/components/Base/useBaseSubmit.js +4 -4
- package/dist/components/Base/useBaseSubmit.js.map +1 -1
- package/dist/components/Common/DocumentList/DocumentList.d.ts +8 -1
- package/dist/components/Common/DocumentList/DocumentList.js +24 -21
- package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Common/OnboardingStatusBadge/index.d.ts +2 -2
- package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
- package/dist/components/Common/TaxInputs/TaxInputs.d.ts +2 -2
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +5 -5
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +9 -8
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +3 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.d.ts +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +9 -8
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +11 -10
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js +1 -1
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountComponents.d.ts +1 -1
- package/dist/components/Company/BankAccount/BankAccountComponents.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/context.d.ts +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.d.ts +2 -2
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +9 -8
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.d.ts +2 -2
- package/dist/components/Company/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js +3 -3
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/useSignCompanyForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +2 -2
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +1 -1
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +12 -11
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +12 -11
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.js +2 -2
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +7 -7
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +46 -45
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +9 -8
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.d.ts +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +9 -8
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.d.ts +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +9 -8
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.js +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +2 -2
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +6 -6
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +3 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +2 -2
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +9 -8
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +9 -8
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +2 -2
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +3 -3
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
- package/dist/components/Contractor/ContractorList/index.js +1 -1
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.d.ts +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js +1 -1
- package/dist/components/Contractor/ContractorList/useContractorList.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.d.ts +1 -1
- package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +3 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +64 -51
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +201 -161
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +2 -2
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js +3 -3
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js +55 -54
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js.map +1 -1
- package/dist/components/Contractor/Landing/Landing.js +2 -2
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +2 -2
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +2 -2
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js +2 -2
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +5 -5
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +2 -2
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.d.ts +2 -2
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.d.ts +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/GenericBlocker.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +4 -4
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +3 -3
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +2 -2
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +4 -4
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -3
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +3 -3
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.d.ts +3 -3
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +3 -3
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +3 -3
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +3 -3
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +2 -2
- package/dist/components/Employee/Compensation/onboarding/Compensation.js +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.d.ts +2 -2
- package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js +2 -2
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.d.ts +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.d.ts +2 -2
- package/dist/components/Employee/Compensation/shared/getPendingCompensationChanges.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +3 -3
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.d.ts +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +7 -7
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +3 -3
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +7 -7
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.d.ts +1 -1
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.d.ts +1 -1
- package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +2 -2
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +5 -5
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js +3 -3
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionsList.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionsList.js +2 -2
- package/dist/components/Employee/Deductions/shared/useDeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.d.ts +1 -1
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js +2 -2
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.d.ts +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +9 -8
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +2 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +3 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.d.ts +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +2 -2
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.d.ts +1 -1
- package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js +1 -1
- package/dist/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js +3 -3
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +3 -3
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +3 -3
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js +2 -2
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.d.ts +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesSummary/useFederalTaxesSummary.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +3 -3
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.d.ts +1 -1
- package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js +1 -1
- package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +2 -2
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +2 -2
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js +2 -2
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js +3 -3
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
- package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.d.ts +1 -1
- package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js +3 -3
- package/dist/components/Employee/Paystubs/shared/usePaystubsList/usePaystubsList.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +5 -5
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useCurrentHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +4 -4
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.d.ts +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useCurrentWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +2 -2
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/stateTaxesFixtures.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/__fixtures__/toWireFormat.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/employeeStateTaxesSchema.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldMapping.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +2 -2
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js +1 -1
- package/dist/components/Employee/StateTaxes/shared/useStateTaxesSummary/useStateTaxesSummary.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +9 -9
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +4 -4
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.d.ts +2 -2
- package/dist/components/Employee/WorkAddress/management/getPendingFutureWorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.d.ts +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +3 -3
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.d.ts +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +4 -4
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +2 -2
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +2 -2
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +3 -3
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +2 -2
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +4 -4
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +8 -7
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +4 -4
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js +4 -4
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +2 -2
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +7 -7
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +5 -5
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +4 -4
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +5 -5
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +3 -3
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +4 -4
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +2 -2
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +2 -2
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +4 -4
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +2 -2
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +2 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +8 -8
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -3
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +7 -7
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +4 -4
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +2 -2
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +2 -2
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +2 -2
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +4 -4
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +3 -3
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +6 -6
- package/dist/components/Payroll/helpers.js +1 -1
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/payrollTypes.js +1 -1
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +2 -2
- package/dist/components/Payroll/usePreparedPayrollData.js +16 -15
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.d.ts +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +3 -3
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +3 -3
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +3 -3
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +6 -6
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +30 -29
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +27 -26
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +2 -2
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +69 -68
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +3 -3
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +67 -66
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +3 -3
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/apiVersion.d.ts +23 -0
- package/dist/contexts/ApiProvider/apiVersion.js +6 -0
- package/dist/contexts/ApiProvider/apiVersion.js.map +1 -0
- package/dist/contexts/ApiProvider/apiVersionHook.js +3 -2
- package/dist/contexts/ApiProvider/apiVersionHook.js.map +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.d.ts +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.js +7 -6
- package/dist/contexts/ApiProvider/createSdkQueryClient.js.map +1 -1
- package/dist/helpers/apiErrorToList.d.ts +1 -1
- package/dist/helpers/apiErrorToList.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +2 -2
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/hooks/useCompanyPaymentSpeed.d.ts +1 -1
- package/dist/hooks/useCompanyPaymentSpeed.js +1 -1
- package/dist/hooks/useCompanyPaymentSpeed.js.map +1 -1
- package/dist/i18n/en/Contractor.DocumentsList.json.js +20 -16
- package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -1
- package/dist/i18n/types.d.ts +4 -0
- package/dist/models/external.d.ts +204 -204
- package/dist/shared/constants.d.ts +1 -1
- package/dist/shared/constants.js +2 -2
- package/dist/shared/constants.js.map +1 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/sdkError.js +3 -3
- package/dist/types/sdkError.js.map +1 -1
- package/docs/guides/endpoint-inventory.json +1201 -297
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmploymentEligibilityPresentation.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation, Trans } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport {\n AuthorizationStatus,\n DocumentType as I9AuthorizationDocumentType,\n} from '@gusto/embedded-api-v-2026-02-01/models/components/i9authorization'\nimport {\n generateEmploymentEligibilitySchema,\n type EmploymentEligibilityInputs,\n type EmploymentEligibilityPayload,\n} from './EmploymentEligibilitySchema'\nimport { COUNTRIES } from './countries'\nimport {\n Flex,\n SelectField,\n RadioGroupField,\n TextInputField,\n DatePickerField,\n ActionsLayout,\n} from '@/components/Common'\nimport { ComboBoxField } from '@/components/Common/Fields/ComboBoxField/ComboBoxField'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface EmploymentEligibilityPresentationProps {\n onSubmit: SubmitHandler<EmploymentEligibilityPayload>\n defaultValues?: Partial<EmploymentEligibilityInputs>\n hasDocumentNumber?: boolean | null\n isPending?: boolean\n}\n\nconst statusDescriptionKeys = {\n citizen: 'statusDescriptions.citizen',\n permanent_resident: 'statusDescriptions.permanent_resident',\n noncitizen: 'statusDescriptions.noncitizen',\n alien: 'statusDescriptions.alien',\n} as const satisfies Record<AuthorizationStatus, string>\n\n/** @internal */\nexport const EmploymentEligibilityPresentation = ({\n onSubmit,\n defaultValues,\n hasDocumentNumber,\n isPending,\n}: EmploymentEligibilityPresentationProps) => {\n useI18n('Employee.EmploymentEligibility')\n const { Heading, Text, Alert, Button, Link } = useComponentContext()\n const { t } = useTranslation('Employee.EmploymentEligibility')\n\n const [hasExistingDocumentNumber, setHasExistingDocumentNumber] = useState(!!hasDocumentNumber)\n\n const formMethods = useForm<EmploymentEligibilityInputs, unknown, EmploymentEligibilityPayload>({\n resolver: zodResolver(generateEmploymentEligibilitySchema(hasExistingDocumentNumber)),\n defaultValues,\n })\n\n const { control, setValue, clearErrors } = formMethods\n const authorizationStatus = useWatch({ control, name: 'authorizationStatus' })\n const documentType = useWatch({ control, name: 'documentType' })\n\n const statusOptions = Object.values(AuthorizationStatus).map(value => ({\n value,\n label: t(`select.options.${value}`),\n }))\n\n const authorizationDocumentOptions = Object.values(I9AuthorizationDocumentType).map(value => ({\n value,\n label: t(`authorizationDocument.options.${value}`),\n }))\n\n const handleAuthorizationStatusChange = () => {\n setValue('documentNumber', '')\n clearErrors('documentNumber')\n setHasExistingDocumentNumber(false)\n }\n\n const handleDocumentTypeChange = () => {\n setValue('documentNumber', '')\n clearErrors('documentNumber')\n setHasExistingDocumentNumber(false)\n }\n\n const showDocumentTypeRadio = authorizationStatus === 'alien'\n const showDocumentNumberInput =\n authorizationStatus === 'permanent_resident' ||\n (authorizationStatus === 'alien' && !!documentType)\n const activeDocumentType =\n authorizationStatus === 'permanent_resident' ? 'uscis_alien_registration_number' : documentType\n\n const documentNumberMaxLength: Partial<Record<I9AuthorizationDocumentType, number>> = {\n uscis_alien_registration_number: 9,\n form_i94: 11,\n }\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={16}>\n <Flex flexDirection=\"column\" gap={2}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n <Trans\n i18nKey={'subtitle'}\n t={t}\n components={{\n formI9Link: <Link />,\n }}\n />\n </Text>\n </Flex>\n\n <SelectField\n name=\"authorizationStatus\"\n label={t('select.label')}\n description={t('select.description')}\n placeholder={t('select.placeholder')}\n options={statusOptions}\n isRequired\n onChange={handleAuthorizationStatusChange}\n />\n\n {authorizationStatus && (\n <Alert\n status=\"info\"\n label={t(statusDescriptionKeys[authorizationStatus])}\n disableScrollIntoView\n />\n )}\n\n {authorizationStatus === 'alien' && (\n <DatePickerField name=\"expirationDate\" label={t('expirationDate.label')} />\n )}\n\n {showDocumentTypeRadio && (\n <RadioGroupField\n name=\"documentType\"\n label={t('authorizationDocument.label')}\n options={authorizationDocumentOptions}\n isRequired\n onChange={handleDocumentTypeChange}\n />\n )}\n\n {showDocumentNumberInput && activeDocumentType && (\n <TextInputField\n name=\"documentNumber\"\n label={t(`documentNumber.${activeDocumentType}.label`)}\n description={\n activeDocumentType !== 'foreign_passport'\n ? t(`documentNumber.${activeDocumentType}.description`)\n : undefined\n }\n placeholder={\n hasExistingDocumentNumber\n ? t(`documentNumber.${activeDocumentType}.placeholder`)\n : undefined\n }\n maxLength={documentNumberMaxLength[activeDocumentType]}\n isRequired\n />\n )}\n\n {documentType === 'foreign_passport' && authorizationStatus === 'alien' && (\n <ComboBoxField\n name=\"country\"\n label={t('country.label')}\n description={t('country.description')}\n options={COUNTRIES}\n placeholder={t('country.placeholder')}\n allowsCustomValue\n isRequired\n />\n )}\n\n <ActionsLayout>\n <Button type=\"submit\" isLoading={isPending}>\n {t('submit')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n"],"names":["statusDescriptionKeys","EmploymentEligibilityPresentation","onSubmit","defaultValues","hasDocumentNumber","isPending","useI18n","Heading","Text","Alert","Button","Link","useComponentContext","t","useTranslation","hasExistingDocumentNumber","setHasExistingDocumentNumber","useState","formMethods","useForm","zodResolver","generateEmploymentEligibilitySchema","control","setValue","clearErrors","authorizationStatus","useWatch","documentType","statusOptions","AuthorizationStatus","value","authorizationDocumentOptions","I9AuthorizationDocumentType","handleAuthorizationStatusChange","handleDocumentTypeChange","showDocumentTypeRadio","showDocumentNumberInput","activeDocumentType","documentNumberMaxLength","FormProvider","jsx","Form","jsxs","Flex","Trans","SelectField","DatePickerField","RadioGroupField","TextInputField","ComboBoxField","COUNTRIES","ActionsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmploymentEligibilityPresentation.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation, Trans } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport {\n AuthorizationStatus,\n DocumentType as I9AuthorizationDocumentType,\n} from '@gusto/embedded-api/models/components/i9authorization'\nimport {\n generateEmploymentEligibilitySchema,\n type EmploymentEligibilityInputs,\n type EmploymentEligibilityPayload,\n} from './EmploymentEligibilitySchema'\nimport { COUNTRIES } from './countries'\nimport {\n Flex,\n SelectField,\n RadioGroupField,\n TextInputField,\n DatePickerField,\n ActionsLayout,\n} from '@/components/Common'\nimport { ComboBoxField } from '@/components/Common/Fields/ComboBoxField/ComboBoxField'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface EmploymentEligibilityPresentationProps {\n onSubmit: SubmitHandler<EmploymentEligibilityPayload>\n defaultValues?: Partial<EmploymentEligibilityInputs>\n hasDocumentNumber?: boolean | null\n isPending?: boolean\n}\n\nconst statusDescriptionKeys = {\n citizen: 'statusDescriptions.citizen',\n permanent_resident: 'statusDescriptions.permanent_resident',\n noncitizen: 'statusDescriptions.noncitizen',\n alien: 'statusDescriptions.alien',\n} as const satisfies Record<AuthorizationStatus, string>\n\n/** @internal */\nexport const EmploymentEligibilityPresentation = ({\n onSubmit,\n defaultValues,\n hasDocumentNumber,\n isPending,\n}: EmploymentEligibilityPresentationProps) => {\n useI18n('Employee.EmploymentEligibility')\n const { Heading, Text, Alert, Button, Link } = useComponentContext()\n const { t } = useTranslation('Employee.EmploymentEligibility')\n\n const [hasExistingDocumentNumber, setHasExistingDocumentNumber] = useState(!!hasDocumentNumber)\n\n const formMethods = useForm<EmploymentEligibilityInputs, unknown, EmploymentEligibilityPayload>({\n resolver: zodResolver(generateEmploymentEligibilitySchema(hasExistingDocumentNumber)),\n defaultValues,\n })\n\n const { control, setValue, clearErrors } = formMethods\n const authorizationStatus = useWatch({ control, name: 'authorizationStatus' })\n const documentType = useWatch({ control, name: 'documentType' })\n\n const statusOptions = Object.values(AuthorizationStatus).map(value => ({\n value,\n label: t(`select.options.${value}`),\n }))\n\n const authorizationDocumentOptions = Object.values(I9AuthorizationDocumentType).map(value => ({\n value,\n label: t(`authorizationDocument.options.${value}`),\n }))\n\n const handleAuthorizationStatusChange = () => {\n setValue('documentNumber', '')\n clearErrors('documentNumber')\n setHasExistingDocumentNumber(false)\n }\n\n const handleDocumentTypeChange = () => {\n setValue('documentNumber', '')\n clearErrors('documentNumber')\n setHasExistingDocumentNumber(false)\n }\n\n const showDocumentTypeRadio = authorizationStatus === 'alien'\n const showDocumentNumberInput =\n authorizationStatus === 'permanent_resident' ||\n (authorizationStatus === 'alien' && !!documentType)\n const activeDocumentType =\n authorizationStatus === 'permanent_resident' ? 'uscis_alien_registration_number' : documentType\n\n const documentNumberMaxLength: Partial<Record<I9AuthorizationDocumentType, number>> = {\n uscis_alien_registration_number: 9,\n form_i94: 11,\n }\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={16}>\n <Flex flexDirection=\"column\" gap={2}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n <Trans\n i18nKey={'subtitle'}\n t={t}\n components={{\n formI9Link: <Link />,\n }}\n />\n </Text>\n </Flex>\n\n <SelectField\n name=\"authorizationStatus\"\n label={t('select.label')}\n description={t('select.description')}\n placeholder={t('select.placeholder')}\n options={statusOptions}\n isRequired\n onChange={handleAuthorizationStatusChange}\n />\n\n {authorizationStatus && (\n <Alert\n status=\"info\"\n label={t(statusDescriptionKeys[authorizationStatus])}\n disableScrollIntoView\n />\n )}\n\n {authorizationStatus === 'alien' && (\n <DatePickerField name=\"expirationDate\" label={t('expirationDate.label')} />\n )}\n\n {showDocumentTypeRadio && (\n <RadioGroupField\n name=\"documentType\"\n label={t('authorizationDocument.label')}\n options={authorizationDocumentOptions}\n isRequired\n onChange={handleDocumentTypeChange}\n />\n )}\n\n {showDocumentNumberInput && activeDocumentType && (\n <TextInputField\n name=\"documentNumber\"\n label={t(`documentNumber.${activeDocumentType}.label`)}\n description={\n activeDocumentType !== 'foreign_passport'\n ? t(`documentNumber.${activeDocumentType}.description`)\n : undefined\n }\n placeholder={\n hasExistingDocumentNumber\n ? t(`documentNumber.${activeDocumentType}.placeholder`)\n : undefined\n }\n maxLength={documentNumberMaxLength[activeDocumentType]}\n isRequired\n />\n )}\n\n {documentType === 'foreign_passport' && authorizationStatus === 'alien' && (\n <ComboBoxField\n name=\"country\"\n label={t('country.label')}\n description={t('country.description')}\n options={COUNTRIES}\n placeholder={t('country.placeholder')}\n allowsCustomValue\n isRequired\n />\n )}\n\n <ActionsLayout>\n <Button type=\"submit\" isLoading={isPending}>\n {t('submit')}\n </Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n"],"names":["statusDescriptionKeys","EmploymentEligibilityPresentation","onSubmit","defaultValues","hasDocumentNumber","isPending","useI18n","Heading","Text","Alert","Button","Link","useComponentContext","t","useTranslation","hasExistingDocumentNumber","setHasExistingDocumentNumber","useState","formMethods","useForm","zodResolver","generateEmploymentEligibilitySchema","control","setValue","clearErrors","authorizationStatus","useWatch","documentType","statusOptions","AuthorizationStatus","value","authorizationDocumentOptions","I9AuthorizationDocumentType","handleAuthorizationStatusChange","handleDocumentTypeChange","showDocumentTypeRadio","showDocumentNumberInput","activeDocumentType","documentNumberMaxLength","FormProvider","jsx","Form","jsxs","Flex","Trans","SelectField","DatePickerField","RadioGroupField","TextInputField","ComboBoxField","COUNTRIES","ActionsLayout"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z as o } from "zod";
|
|
2
|
-
import { DocumentType as i, AuthorizationStatus as r } from "@gusto/embedded-api
|
|
2
|
+
import { DocumentType as i, AuthorizationStatus as r } from "@gusto/embedded-api/models/components/i9authorization";
|
|
3
3
|
const t = (u) => /^[Aa]?\d{7,9}$/.test(u), m = (u) => /^\d{9} ?[A-Za-z\d]\d$/.test(u), a = (u) => o.object({
|
|
4
4
|
authorizationStatus: o.enum(r).optional(),
|
|
5
5
|
documentType: o.enum(i).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmploymentEligibilitySchema.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n AuthorizationStatus,\n DocumentType as I9AuthorizationDocumentType,\n} from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"EmploymentEligibilitySchema.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n AuthorizationStatus,\n DocumentType as I9AuthorizationDocumentType,\n} from '@gusto/embedded-api/models/components/i9authorization'\n\nconst isValidUscisNumber = (value: string) => /^[Aa]?\\d{7,9}$/.test(value)\nconst isValidI94Number = (value: string) => /^\\d{9} ?[A-Za-z\\d]\\d$/.test(value)\n\n/** @internal */\nexport const generateEmploymentEligibilitySchema = (hasDocumentNumber?: boolean | null) =>\n z\n .object({\n authorizationStatus: z.enum(AuthorizationStatus).optional(),\n documentType: z.enum(I9AuthorizationDocumentType).optional(),\n documentNumber: z.string().optional(),\n expirationDate: z\n .date()\n .transform(date => date.toISOString().split('T')[0])\n .optional(),\n country: z.string().optional(),\n })\n .superRefine((data, ctx) => {\n if (!data.authorizationStatus) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Authorization status is required',\n path: ['authorizationStatus'],\n })\n return\n }\n if (data.authorizationStatus === 'permanent_resident') {\n if (!data.documentNumber) {\n if (!hasDocumentNumber) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Document number is required',\n path: ['documentNumber'],\n })\n }\n } else if (!isValidUscisNumber(data.documentNumber)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Enter a 7-9 digit USCIS number or A-Number (e.g. A123456789)',\n path: ['documentNumber'],\n })\n }\n }\n if (data.authorizationStatus === 'alien') {\n if (!data.documentType) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Authorization document is required',\n path: ['documentType'],\n })\n }\n if (!data.documentNumber) {\n if (!hasDocumentNumber) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Document number is required',\n path: ['documentNumber'],\n })\n }\n } else if (\n data.documentType === 'uscis_alien_registration_number' &&\n !isValidUscisNumber(data.documentNumber)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Enter a 7-9 digit USCIS number or A-Number (e.g. A123456789)',\n path: ['documentNumber'],\n })\n } else if (data.documentType === 'form_i94' && !isValidI94Number(data.documentNumber)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Enter a valid 11-character Form I-94 admission number',\n path: ['documentNumber'],\n })\n }\n if (data.documentType === 'foreign_passport' && !data.country) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'Country of issuance is required',\n path: ['country'],\n })\n }\n }\n })\n\n/** @internal */\nexport type EmploymentEligibilityInputs = z.input<\n ReturnType<typeof generateEmploymentEligibilitySchema>\n>\n/** @internal */\nexport type EmploymentEligibilityPayload = z.infer<\n ReturnType<typeof generateEmploymentEligibilitySchema>\n>\n"],"names":["isValidUscisNumber","value","isValidI94Number","generateEmploymentEligibilitySchema","hasDocumentNumber","z","AuthorizationStatus","I9AuthorizationDocumentType","date","data","ctx"],"mappings":";;AAMA,MAAMA,IAAqB,CAACC,MAAkB,iBAAiB,KAAKA,CAAK,GACnEC,IAAmB,CAACD,MAAkB,wBAAwB,KAAKA,CAAK,GAGjEE,IAAsC,CAACC,MAClDC,EACG,OAAO;AAAA,EACN,qBAAqBA,EAAE,KAAKC,CAAmB,EAAE,SAAA;AAAA,EACjD,cAAcD,EAAE,KAAKE,CAA2B,EAAE,SAAA;AAAA,EAClD,gBAAgBF,EAAE,OAAA,EAAS,SAAA;AAAA,EAC3B,gBAAgBA,EACb,KAAA,EACA,UAAU,CAAAG,MAAQA,EAAK,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC,CAAC,EAClD,SAAA;AAAA,EACH,SAASH,EAAE,OAAA,EAAS,SAAA;AACtB,CAAC,EACA,YAAY,CAACI,GAAMC,MAAQ;AAC1B,MAAI,CAACD,EAAK,qBAAqB;AAC7B,IAAAC,EAAI,SAAS;AAAA,MACX,MAAML,EAAE,aAAa;AAAA,MACrB,SAAS;AAAA,MACT,MAAM,CAAC,qBAAqB;AAAA,IAAA,CAC7B;AACD;AAAA,EACF;AACA,EAAII,EAAK,wBAAwB,yBAC1BA,EAAK,iBAQET,EAAmBS,EAAK,cAAc,KAChDC,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,gBAAgB;AAAA,EAAA,CACxB,IAZID,KACHM,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,gBAAgB;AAAA,EAAA,CACxB,IAUHI,EAAK,wBAAwB,YAC1BA,EAAK,gBACRC,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,cAAc;AAAA,EAAA,CACtB,GAEEI,EAAK,iBASRA,EAAK,iBAAiB,qCACtB,CAACT,EAAmBS,EAAK,cAAc,IAEvCC,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,gBAAgB;AAAA,EAAA,CACxB,IACQI,EAAK,iBAAiB,cAAc,CAACP,EAAiBO,EAAK,cAAc,KAClFC,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,gBAAgB;AAAA,EAAA,CACxB,IArBID,KACHM,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,gBAAgB;AAAA,EAAA,CACxB,GAkBDI,EAAK,iBAAiB,sBAAsB,CAACA,EAAK,WACpDC,EAAI,SAAS;AAAA,IACX,MAAML,EAAE,aAAa;AAAA,IACrB,SAAS;AAAA,IACT,MAAM,CAAC,SAAS;AAAA,EAAA,CACjB;AAGP,CAAC;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as e, jsxs as o } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as g, Trans as U } from "react-i18next";
|
|
3
|
-
import { useI9VerificationGetAuthorization as M } from "@gusto/embedded-api
|
|
3
|
+
import { useI9VerificationGetAuthorization as M } from "@gusto/embedded-api/react-query/i9VerificationGetAuthorization";
|
|
4
4
|
import { useSignEmployeeForm as Q } from "../../../shared/useSignEmployeeForm/useSignEmployeeForm.js";
|
|
5
5
|
import D from "./I9SignatureForm.module.scss.js";
|
|
6
6
|
import { BaseComponent as x, BaseLayout as C } from "../../../../../Base/Base.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I9SignatureForm.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.tsx"],"sourcesContent":["import { useTranslation, Trans } from 'react-i18next'\nimport type { AuthorizationStatus } from '@gusto/embedded-api-v-2026-02-01/models/components/i9authorization'\nimport { useI9VerificationGetAuthorization } from '@gusto/embedded-api-v-2026-02-01/react-query/i9VerificationGetAuthorization'\nimport { useSignEmployeeForm, type PreparerFieldGroup } from '../../../shared/useSignEmployeeForm'\nimport styles from './I9SignatureForm.module.scss'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseLayout } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { DocumentViewer } from '@/components/Common/DocumentViewer'\nimport { Form } from '@/components/Common/Form'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link I9SignatureForm}.\n *\n * @public\n */\nexport interface I9SignatureFormProps extends BaseComponentInterface<'Employee.I9SignatureForm'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The identifier of the I-9 form to sign. */\n formId: string\n}\n\n/**\n * Presents the employee's I-9 form for review and signature.\n *\n * @remarks\n * Renders the I-9 PDF, surfaces the current employment-eligibility status, and\n * collects the employee's signature along with any preparer or translator\n * details. On successful submission the signed form is emitted.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/forms/sign` | Fired after the I-9 is successfully signed | {@link APIModels.Form} |\n * | `employee/employmentEligibility/change` | Fired when the user requests to change their I-9 eligibility status | — |\n * | `cancel` | Fired when the user cancels signing and returns to the document list | — |\n *\n * @param props - See {@link I9SignatureFormProps}.\n * @returns The employee I-9 signature form.\n * @public\n */\nexport function I9SignatureForm(props: I9SignatureFormProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, formId, className }: I9SignatureFormProps) {\n useI18n('Employee.I9SignatureForm')\n const { t } = useTranslation('Employee.I9SignatureForm')\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const hookResult = useSignEmployeeForm({ employeeId, formId })\n\n const { data: i9AuthData } = useI9VerificationGetAuthorization({ employeeId })\n const authorizationStatus = i9AuthData?.i9Authorization?.authorizationStatus\n\n if (hookResult.isLoading) {\n return <BaseLayout isLoading error={hookResult.errorHandling.errors} />\n }\n\n const { form, pdfUrl } = hookResult.data\n const { isPending } = hookResult.status\n const { Fields, preparers } = hookResult.form\n\n const handleBack = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n const handleChangeEligibility = () => {\n onEvent(componentEvents.EMPLOYEE_CHANGE_ELIGIBILITY_STATUS)\n }\n\n const handleSubmit = async () => {\n const result = await hookResult.actions.onSubmit()\n if (result) {\n onEvent(componentEvents.EMPLOYEE_SIGN_FORM, result.data)\n }\n }\n\n const preparerFieldGroups = [\n Fields.Preparer1,\n Fields.Preparer2,\n Fields.Preparer3,\n Fields.Preparer4,\n ].filter(Group => Group !== undefined)\n\n return (\n <section className={className}>\n <BaseLayout error={hookResult.errorHandling.errors}>\n <SDKFormProvider formHookResult={hookResult}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\" gap={20}>\n <section>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text>\n <Trans\n i18nKey=\"description\"\n t={t}\n components={{\n viewFormLink: pdfUrl ? (\n <Components.Link\n href={pdfUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n download={`${form.title || 'form'}.pdf`}\n />\n ) : (\n <span />\n ),\n }}\n />\n </Components.Text>\n </section>\n\n {authorizationStatus && (\n <EligibilityStatusAlert\n authorizationStatus={authorizationStatus}\n onChangeStatus={handleChangeEligibility}\n />\n )}\n\n <DocumentViewer\n url={pdfUrl}\n title={form.title}\n downloadInstructions={t('downloadInstructions')}\n viewDocumentLabel={t('viewDocumentCta')}\n />\n\n <Flex flexDirection=\"column\" gap={12}>\n <Fields.Signature\n label={t('signatureLabel')}\n description={t('signatureDescription')}\n validationMessages={{ REQUIRED: t('signatureError') }}\n />\n <Fields.ConfirmSignature\n label={t('confirmationLabel')}\n validationMessages={{ REQUIRED: t('confirmationError') }}\n />\n </Flex>\n\n {Fields.UsedPreparer && (\n <Flex flexDirection=\"column\" gap={20}>\n <Fields.UsedPreparer\n label={t('preparerQuestion')}\n validationMessages={{ REQUIRED: t('preparerQuestionError') }}\n />\n\n {preparerFieldGroups.map((PreparerFields, index) => {\n const isLast = index === preparerFieldGroups.length - 1\n return (\n <Flex flexDirection=\"column\" gap={0} key={index}>\n <div className={styles.preparerAlert}>\n <Components.Alert\n label={t('preparerNote')}\n status=\"info\"\n disableScrollIntoView\n />\n </div>\n <PreparerSection\n PreparerFields={PreparerFields}\n showAddButton={isLast && (preparers?.canAdd ?? false)}\n showRemoveButton={\n isLast &&\n (preparers?.canRemove ?? false) &&\n preparerFieldGroups.length > 1\n }\n onAdd={() => hookResult.actions.addPreparer?.()}\n onRemove={() => hookResult.actions.removePreparer?.()}\n />\n </Flex>\n )\n })}\n </Flex>\n )}\n\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={handleBack}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('signCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n\ninterface EligibilityStatusAlertProps {\n authorizationStatus: AuthorizationStatus\n onChangeStatus: () => void\n}\n\nfunction EligibilityStatusAlert({\n authorizationStatus,\n onChangeStatus,\n}: EligibilityStatusAlertProps) {\n const { t } = useTranslation('Employee.I9SignatureForm')\n const Components = useComponentContext()\n\n const alertLabelKeys = {\n citizen: 'eligibilityAlertLabel_citizen',\n permanent_resident: 'eligibilityAlertLabel_permanent_resident',\n noncitizen: 'eligibilityAlertLabel_noncitizen',\n alien: 'eligibilityAlertLabel_alien',\n } as const satisfies Record<AuthorizationStatus, string>\n\n const alertDescriptionKeys = {\n citizen: 'eligibilityAlertDescription_citizen',\n permanent_resident: 'eligibilityAlertDescription_permanent_resident',\n noncitizen: 'eligibilityAlertDescription_noncitizen',\n alien: 'eligibilityAlertDescription_alien',\n } as const satisfies Record<AuthorizationStatus, string>\n\n return (\n <Components.Alert\n status=\"info\"\n label={t(alertLabelKeys[authorizationStatus])}\n disableScrollIntoView\n >\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Text>{t(alertDescriptionKeys[authorizationStatus])}</Components.Text>\n <div>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onChangeStatus}>\n {t('eligibilityAlertChangeStatusCta')}\n </Components.Button>\n </div>\n </Flex>\n </Components.Alert>\n )\n}\n\ninterface PreparerSectionProps {\n PreparerFields: PreparerFieldGroup\n showRemoveButton: boolean\n showAddButton: boolean\n onAdd: () => void\n onRemove: () => void\n}\n\nfunction PreparerSection({\n PreparerFields,\n showRemoveButton,\n showAddButton,\n onAdd,\n onRemove,\n}: PreparerSectionProps) {\n const { t } = useTranslation('Employee.I9SignatureForm')\n const { t: tCommon } = useTranslation('common')\n const Components = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h3\">{t('preparerSectionTitle')}</Components.Heading>\n\n <PreparerFields.FirstName\n label={t('preparerFirstNameLabel')}\n validationMessages={{ REQUIRED: t('preparerFirstNameError') }}\n />\n <PreparerFields.LastName\n label={t('preparerLastNameLabel')}\n validationMessages={{ REQUIRED: t('preparerLastNameError') }}\n />\n <PreparerFields.Street1\n label={t('preparerStreet1Label')}\n validationMessages={{ REQUIRED: t('preparerStreet1Error') }}\n />\n <PreparerFields.Street2 label={t('preparerStreet2Label')} />\n <PreparerFields.City\n label={t('preparerCityLabel')}\n validationMessages={{ REQUIRED: t('preparerCityError') }}\n />\n <PreparerFields.State\n label={t('preparerStateLabel')}\n placeholder={t('preparerStatePlaceholder')}\n validationMessages={{ REQUIRED: t('preparerStateError') }}\n getOptionLabel={(abbr: string) => tCommon(`statesHash.${abbr}`, { defaultValue: abbr })}\n />\n <PreparerFields.Zip\n label={t('preparerZipLabel')}\n validationMessages={{ REQUIRED: t('preparerZipError') }}\n />\n <PreparerFields.Signature\n label={t('preparerSignatureLabel')}\n description={t('preparerSignatureDescription')}\n validationMessages={{ REQUIRED: t('preparerSignatureError') }}\n />\n <PreparerFields.ConfirmSignature\n label={t('preparerConfirmationLabel')}\n validationMessages={{ REQUIRED: t('preparerConfirmationError') }}\n />\n\n {(showAddButton || showRemoveButton) && (\n <div className={styles.preparerActions}>\n {showAddButton && (\n <Components.Button type=\"button\" variant=\"secondary\" onClick={onAdd}>\n {t('addPreparerCta')}\n </Components.Button>\n )}\n {showRemoveButton && (\n <Components.Button type=\"button\" variant=\"error\" onClick={onRemove}>\n {t('removePreparerCta')}\n </Components.Button>\n )}\n </div>\n )}\n </Flex>\n )\n}\n"],"names":["I9SignatureForm","props","jsx","BaseComponent","Root","employeeId","formId","className","useI18n","useTranslation","onEvent","useBase","Components","useComponentContext","hookResult","useSignEmployeeForm","i9AuthData","useI9VerificationGetAuthorization","authorizationStatus","BaseLayout","form","pdfUrl","isPending","Fields","preparers","handleBack","componentEvents","handleChangeEligibility","handleSubmit","result","preparerFieldGroups","Group","SDKFormProvider","Form","jsxs","Flex","Trans","EligibilityStatusAlert","DocumentViewer","PreparerFields","index","isLast","styles","PreparerSection","ActionsLayout","onChangeStatus","t","alertLabelKeys","alertDescriptionKeys","showRemoveButton","showAddButton","onAdd","onRemove","tCommon","abbr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"I9SignatureForm.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.tsx"],"sourcesContent":["import { useTranslation, Trans } from 'react-i18next'\nimport type { AuthorizationStatus } from '@gusto/embedded-api/models/components/i9authorization'\nimport { useI9VerificationGetAuthorization } from '@gusto/embedded-api/react-query/i9VerificationGetAuthorization'\nimport { useSignEmployeeForm, type PreparerFieldGroup } from '../../../shared/useSignEmployeeForm'\nimport styles from './I9SignatureForm.module.scss'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseLayout } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { ActionsLayout, Flex } from '@/components/Common'\nimport { DocumentViewer } from '@/components/Common/DocumentViewer'\nimport { Form } from '@/components/Common/Form'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link I9SignatureForm}.\n *\n * @public\n */\nexport interface I9SignatureFormProps extends BaseComponentInterface<'Employee.I9SignatureForm'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The identifier of the I-9 form to sign. */\n formId: string\n}\n\n/**\n * Presents the employee's I-9 form for review and signature.\n *\n * @remarks\n * Renders the I-9 PDF, surfaces the current employment-eligibility status, and\n * collects the employee's signature along with any preparer or translator\n * details. On successful submission the signed form is emitted.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/forms/sign` | Fired after the I-9 is successfully signed | {@link APIModels.Form} |\n * | `employee/employmentEligibility/change` | Fired when the user requests to change their I-9 eligibility status | — |\n * | `cancel` | Fired when the user cancels signing and returns to the document list | — |\n *\n * @param props - See {@link I9SignatureFormProps}.\n * @returns The employee I-9 signature form.\n * @public\n */\nexport function I9SignatureForm(props: I9SignatureFormProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, formId, className }: I9SignatureFormProps) {\n useI18n('Employee.I9SignatureForm')\n const { t } = useTranslation('Employee.I9SignatureForm')\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const hookResult = useSignEmployeeForm({ employeeId, formId })\n\n const { data: i9AuthData } = useI9VerificationGetAuthorization({ employeeId })\n const authorizationStatus = i9AuthData?.i9Authorization?.authorizationStatus\n\n if (hookResult.isLoading) {\n return <BaseLayout isLoading error={hookResult.errorHandling.errors} />\n }\n\n const { form, pdfUrl } = hookResult.data\n const { isPending } = hookResult.status\n const { Fields, preparers } = hookResult.form\n\n const handleBack = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n const handleChangeEligibility = () => {\n onEvent(componentEvents.EMPLOYEE_CHANGE_ELIGIBILITY_STATUS)\n }\n\n const handleSubmit = async () => {\n const result = await hookResult.actions.onSubmit()\n if (result) {\n onEvent(componentEvents.EMPLOYEE_SIGN_FORM, result.data)\n }\n }\n\n const preparerFieldGroups = [\n Fields.Preparer1,\n Fields.Preparer2,\n Fields.Preparer3,\n Fields.Preparer4,\n ].filter(Group => Group !== undefined)\n\n return (\n <section className={className}>\n <BaseLayout error={hookResult.errorHandling.errors}>\n <SDKFormProvider formHookResult={hookResult}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\" gap={20}>\n <section>\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Text>\n <Trans\n i18nKey=\"description\"\n t={t}\n components={{\n viewFormLink: pdfUrl ? (\n <Components.Link\n href={pdfUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n download={`${form.title || 'form'}.pdf`}\n />\n ) : (\n <span />\n ),\n }}\n />\n </Components.Text>\n </section>\n\n {authorizationStatus && (\n <EligibilityStatusAlert\n authorizationStatus={authorizationStatus}\n onChangeStatus={handleChangeEligibility}\n />\n )}\n\n <DocumentViewer\n url={pdfUrl}\n title={form.title}\n downloadInstructions={t('downloadInstructions')}\n viewDocumentLabel={t('viewDocumentCta')}\n />\n\n <Flex flexDirection=\"column\" gap={12}>\n <Fields.Signature\n label={t('signatureLabel')}\n description={t('signatureDescription')}\n validationMessages={{ REQUIRED: t('signatureError') }}\n />\n <Fields.ConfirmSignature\n label={t('confirmationLabel')}\n validationMessages={{ REQUIRED: t('confirmationError') }}\n />\n </Flex>\n\n {Fields.UsedPreparer && (\n <Flex flexDirection=\"column\" gap={20}>\n <Fields.UsedPreparer\n label={t('preparerQuestion')}\n validationMessages={{ REQUIRED: t('preparerQuestionError') }}\n />\n\n {preparerFieldGroups.map((PreparerFields, index) => {\n const isLast = index === preparerFieldGroups.length - 1\n return (\n <Flex flexDirection=\"column\" gap={0} key={index}>\n <div className={styles.preparerAlert}>\n <Components.Alert\n label={t('preparerNote')}\n status=\"info\"\n disableScrollIntoView\n />\n </div>\n <PreparerSection\n PreparerFields={PreparerFields}\n showAddButton={isLast && (preparers?.canAdd ?? false)}\n showRemoveButton={\n isLast &&\n (preparers?.canRemove ?? false) &&\n preparerFieldGroups.length > 1\n }\n onAdd={() => hookResult.actions.addPreparer?.()}\n onRemove={() => hookResult.actions.removePreparer?.()}\n />\n </Flex>\n )\n })}\n </Flex>\n )}\n\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={handleBack}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('signCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n\ninterface EligibilityStatusAlertProps {\n authorizationStatus: AuthorizationStatus\n onChangeStatus: () => void\n}\n\nfunction EligibilityStatusAlert({\n authorizationStatus,\n onChangeStatus,\n}: EligibilityStatusAlertProps) {\n const { t } = useTranslation('Employee.I9SignatureForm')\n const Components = useComponentContext()\n\n const alertLabelKeys = {\n citizen: 'eligibilityAlertLabel_citizen',\n permanent_resident: 'eligibilityAlertLabel_permanent_resident',\n noncitizen: 'eligibilityAlertLabel_noncitizen',\n alien: 'eligibilityAlertLabel_alien',\n } as const satisfies Record<AuthorizationStatus, string>\n\n const alertDescriptionKeys = {\n citizen: 'eligibilityAlertDescription_citizen',\n permanent_resident: 'eligibilityAlertDescription_permanent_resident',\n noncitizen: 'eligibilityAlertDescription_noncitizen',\n alien: 'eligibilityAlertDescription_alien',\n } as const satisfies Record<AuthorizationStatus, string>\n\n return (\n <Components.Alert\n status=\"info\"\n label={t(alertLabelKeys[authorizationStatus])}\n disableScrollIntoView\n >\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Text>{t(alertDescriptionKeys[authorizationStatus])}</Components.Text>\n <div>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onChangeStatus}>\n {t('eligibilityAlertChangeStatusCta')}\n </Components.Button>\n </div>\n </Flex>\n </Components.Alert>\n )\n}\n\ninterface PreparerSectionProps {\n PreparerFields: PreparerFieldGroup\n showRemoveButton: boolean\n showAddButton: boolean\n onAdd: () => void\n onRemove: () => void\n}\n\nfunction PreparerSection({\n PreparerFields,\n showRemoveButton,\n showAddButton,\n onAdd,\n onRemove,\n}: PreparerSectionProps) {\n const { t } = useTranslation('Employee.I9SignatureForm')\n const { t: tCommon } = useTranslation('common')\n const Components = useComponentContext()\n\n return (\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h3\">{t('preparerSectionTitle')}</Components.Heading>\n\n <PreparerFields.FirstName\n label={t('preparerFirstNameLabel')}\n validationMessages={{ REQUIRED: t('preparerFirstNameError') }}\n />\n <PreparerFields.LastName\n label={t('preparerLastNameLabel')}\n validationMessages={{ REQUIRED: t('preparerLastNameError') }}\n />\n <PreparerFields.Street1\n label={t('preparerStreet1Label')}\n validationMessages={{ REQUIRED: t('preparerStreet1Error') }}\n />\n <PreparerFields.Street2 label={t('preparerStreet2Label')} />\n <PreparerFields.City\n label={t('preparerCityLabel')}\n validationMessages={{ REQUIRED: t('preparerCityError') }}\n />\n <PreparerFields.State\n label={t('preparerStateLabel')}\n placeholder={t('preparerStatePlaceholder')}\n validationMessages={{ REQUIRED: t('preparerStateError') }}\n getOptionLabel={(abbr: string) => tCommon(`statesHash.${abbr}`, { defaultValue: abbr })}\n />\n <PreparerFields.Zip\n label={t('preparerZipLabel')}\n validationMessages={{ REQUIRED: t('preparerZipError') }}\n />\n <PreparerFields.Signature\n label={t('preparerSignatureLabel')}\n description={t('preparerSignatureDescription')}\n validationMessages={{ REQUIRED: t('preparerSignatureError') }}\n />\n <PreparerFields.ConfirmSignature\n label={t('preparerConfirmationLabel')}\n validationMessages={{ REQUIRED: t('preparerConfirmationError') }}\n />\n\n {(showAddButton || showRemoveButton) && (\n <div className={styles.preparerActions}>\n {showAddButton && (\n <Components.Button type=\"button\" variant=\"secondary\" onClick={onAdd}>\n {t('addPreparerCta')}\n </Components.Button>\n )}\n {showRemoveButton && (\n <Components.Button type=\"button\" variant=\"error\" onClick={onRemove}>\n {t('removePreparerCta')}\n </Components.Button>\n )}\n </div>\n )}\n </Flex>\n )\n}\n"],"names":["I9SignatureForm","props","jsx","BaseComponent","Root","employeeId","formId","className","useI18n","useTranslation","onEvent","useBase","Components","useComponentContext","hookResult","useSignEmployeeForm","i9AuthData","useI9VerificationGetAuthorization","authorizationStatus","BaseLayout","form","pdfUrl","isPending","Fields","preparers","handleBack","componentEvents","handleChangeEligibility","handleSubmit","result","preparerFieldGroups","Group","SDKFormProvider","Form","jsxs","Flex","Trans","EligibilityStatusAlert","DocumentViewer","PreparerFields","index","isLast","styles","PreparerSection","ActionsLayout","onChangeStatus","t","alertLabelKeys","alertDescriptionKeys","showRemoveButton","showAddButton","onAdd","onRemove","tCommon","abbr"],"mappings":"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"}
|
package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Form } from '@gusto/embedded-api
|
|
1
|
+
import { Form } from '@gusto/embedded-api/models/components/form';
|
|
2
2
|
import { FlowContextInterface } from '../../../../Flow/useFlow';
|
|
3
3
|
import { componentEvents } from '../../../../../shared/constants';
|
|
4
4
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentSignerStateMachine.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.tsx"],"sourcesContent":["import { type Form } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"documentSignerStateMachine.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.tsx"],"sourcesContent":["import { type Form } from '@gusto/embedded-api/models/components/form'\nimport { SignatureForm } from '../../shared/SignatureForm/SignatureForm'\nimport { EmploymentEligibility } from './EmploymentEligibility'\nimport { I9SignatureForm } from './I9SignatureForm/I9SignatureForm'\nimport { DocumentList } from './DocumentList/DocumentList'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { componentEvents } from '@/shared/constants'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/** @internal */\nexport type EventPayloads = {\n [componentEvents.EMPLOYEE_SIGN_FORM]: Form\n [componentEvents.EMPLOYEE_VIEW_FORM_TO_SIGN]: { uuid: string; name?: string }\n [componentEvents.EMPLOYEE_EMPLOYMENT_ELIGIBILITY_DONE]: unknown\n [componentEvents.EMPLOYEE_CHANGE_ELIGIBILITY_STATUS]: undefined\n [componentEvents.CANCEL]: undefined\n}\n\n/** @internal */\nexport interface DocumentSignerContextInterface extends FlowContextInterface {\n employeeId: string\n formId?: string\n withEmployeeI9?: boolean\n isI9Form?: boolean\n}\n\n/** @internal */\nexport function DocumentListContextual() {\n const { employeeId, onEvent } = useFlow<DocumentSignerContextInterface>()\n\n return <DocumentList employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function SignatureFormContextual() {\n const { employeeId, formId, onEvent } = useFlow<DocumentSignerContextInterface>()\n\n return (\n <SignatureForm\n employeeId={ensureRequired(employeeId)}\n formId={ensureRequired(formId)}\n onEvent={onEvent}\n />\n )\n}\n\n/** @internal */\nexport function EmploymentEligibilityContextual() {\n const { employeeId, onEvent } = useFlow<DocumentSignerContextInterface>()\n\n return <EmploymentEligibility employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function I9SignatureFormContextual() {\n const { employeeId, formId, onEvent } = useFlow<DocumentSignerContextInterface>()\n\n return (\n <I9SignatureForm\n employeeId={ensureRequired(employeeId)}\n formId={ensureRequired(formId)}\n onEvent={onEvent}\n />\n )\n}\n"],"names":["DocumentListContextual","employeeId","onEvent","useFlow","DocumentList","ensureRequired","SignatureFormContextual","formId","jsx","SignatureForm","EmploymentEligibilityContextual","EmploymentEligibility","I9SignatureFormContextual","I9SignatureForm"],"mappings":";;;;;;;AA2BO,SAASA,IAAyB;AACvC,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAEhC,2BAAQC,GAAA,EAAa,YAAYC,EAAeJ,CAAU,GAAG,SAAAC,GAAkB;AACjF;AAGO,SAASI,IAA0B;AACxC,QAAM,EAAE,YAAAL,GAAY,QAAAM,GAAQ,SAAAL,EAAA,IAAYC,EAAA;AAExC,SACE,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAYJ,EAAeJ,CAAU;AAAA,MACrC,QAAQI,EAAeE,CAAM;AAAA,MAC7B,SAAAL;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASQ,IAAkC;AAChD,QAAM,EAAE,YAAAT,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAEhC,2BAAQQ,GAAA,EAAsB,YAAYN,EAAeJ,CAAU,GAAG,SAAAC,GAAkB;AAC1F;AAGO,SAASU,IAA4B;AAC1C,QAAM,EAAE,YAAAX,GAAY,QAAAM,GAAQ,SAAAL,EAAA,IAAYC,EAAA;AAExC,SACE,gBAAAK;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,YAAYR,EAAeJ,CAAU;AAAA,MACrC,QAAQI,EAAeE,CAAM;AAAA,MAC7B,SAAAL;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { useIsMutating as D } from "@tanstack/react-query";
|
|
3
|
-
import { useEmployeesGetSuspense as d } from "@gusto/embedded-api
|
|
4
|
-
import { useEmployeesUpdateOnboardingDocumentsConfigMutation as y, mutationKeyEmployeesUpdateOnboardingDocumentsConfig as f } from "@gusto/embedded-api
|
|
3
|
+
import { useEmployeesGetSuspense as d } from "@gusto/embedded-api/react-query/employeesGet";
|
|
4
|
+
import { useEmployeesUpdateOnboardingDocumentsConfigMutation as y, mutationKeyEmployeesUpdateOnboardingDocumentsConfig as f } from "@gusto/embedded-api/react-query/employeesUpdateOnboardingDocumentsConfig";
|
|
5
5
|
import { EmployeeDocumentsPresentation as g } from "./EmployeeDocumentsPresentation.js";
|
|
6
6
|
import { BaseComponent as O } from "../../../../Base/Base.js";
|
|
7
7
|
import { useBase as S } from "../../../../Base/useBase.js";
|
package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeDocuments.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.tsx"],"sourcesContent":["import { useIsMutating } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"EmployeeDocuments.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.tsx"],"sourcesContent":["import { useIsMutating } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n useEmployeesUpdateOnboardingDocumentsConfigMutation,\n mutationKeyEmployeesUpdateOnboardingDocumentsConfig,\n} from '@gusto/embedded-api/react-query/employeesUpdateOnboardingDocumentsConfig'\nimport {\n EmployeeDocumentsPresentation,\n type EmployeeDocumentsFormValues,\n} from './EmployeeDocumentsPresentation'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport type { OnboardingContextInterface } from '@/components/Employee/OnboardingFlow/OnboardingFlowComponents'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeDocuments}.\n *\n * @public\n */\nexport interface EmployeeDocumentsProps extends BaseComponentInterface<'Employee.EmployeeDocuments'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Onboarding step for selecting which documents the employee must complete.\n *\n * @remarks\n * Shows the I-9 toggle when the employee is self-onboarding (so the employee\n * can choose whether their employer will collect I-9 verification) and a\n * summary otherwise. Persists the selection to the employee's onboarding\n * documents configuration and advances the parent flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/onboardingDocumentsConfig/updated` | Fired after the employee's documents configuration is saved | The updated documents configuration response |\n * | `employee/documents/done` | Fired when the step is complete and the parent flow can advance | — |\n *\n * @param props - Component props including `employeeId` and `onEvent`.\n * @returns The employee documents onboarding step.\n * @public\n */\nexport function EmployeeDocuments(props: EmployeeDocumentsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, dictionary }: EmployeeDocumentsProps) => {\n useComponentDictionary('Employee.EmployeeDocuments', dictionary)\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = useEmployeesGetSuspense({ employeeId })\n const employee = data.employee\n const currentI9Status = employee?.onboardingDocumentsConfig?.i9Document ?? false\n\n const isEmployeeSelfOnboarding = employee?.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus) ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : false\n\n const { mutateAsync: updateOnboardingDocumentsConfig } =\n useEmployeesUpdateOnboardingDocumentsConfigMutation()\n\n const isMutating = useIsMutating({\n mutationKey: mutationKeyEmployeesUpdateOnboardingDocumentsConfig(),\n })\n const isPending = isMutating > 0\n\n const onSubmit = async (formData: EmployeeDocumentsFormValues) => {\n await baseSubmitHandler(formData, async () => {\n const response = await updateOnboardingDocumentsConfig({\n request: {\n employeeId,\n employeeOnboardingDocumentsConfigRequest: {\n i9Document: formData.includeI9,\n },\n },\n })\n\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DOCUMENTS_CONFIG_UPDATED, response)\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n })\n }\n\n const handleDone = () => {\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n }\n\n return (\n <EmployeeDocumentsPresentation\n isEmployeeSelfOnboarding={isEmployeeSelfOnboarding}\n currentI9Status={currentI9Status}\n onSubmit={onSubmit}\n onDone={handleDone}\n isPending={isPending}\n />\n )\n}\n\n/** @internal */\nexport const EmployeeDocumentsContextual = () => {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n\n return <EmployeeDocuments employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n"],"names":["EmployeeDocuments","props","jsx","BaseComponent","Root","employeeId","dictionary","useComponentDictionary","onEvent","baseSubmitHandler","useBase","data","useEmployeesGetSuspense","employee","currentI9Status","isEmployeeSelfOnboarding","EmployeeSelfOnboardingStatuses","EmployeeOnboardingStatus","updateOnboardingDocumentsConfig","useEmployeesUpdateOnboardingDocumentsConfigMutation","isPending","useIsMutating","mutationKeyEmployeesUpdateOnboardingDocumentsConfig","EmployeeDocumentsPresentation","formData","response","componentEvents","EmployeeDocumentsContextual","useFlow","ensureRequired"],"mappings":";;;;;;;;;;;AAkDO,SAASA,EAAkBC,GAA+B;AAC/D,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,YAAAC,GAAY,YAAAC,QAAyC;AACnE,EAAAC,EAAuB,8BAA8BD,CAAU;AAC/D,QAAM,EAAE,SAAAE,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,MAAAC,EAAA,IAASC,EAAwB,EAAE,YAAAP,GAAY,GACjDQ,IAAWF,EAAK,UAChBG,IAAkBD,GAAU,2BAA2B,cAAc,IAErEE,IAA2BF,GAAU;AAAA;AAAA,IAEvCG,EAA+B,IAAIH,EAAS,gBAAgB,KAC5DA,EAAS,qBAAqBI,EAAyB;AAAA,MACvD,IAEE,EAAE,aAAaC,EAAA,IACnBC,EAAA,GAKIC,IAHaC,EAAc;AAAA,IAC/B,aAAaC,EAAA;AAAA,EAAoD,CAClE,IAC8B;AAsB/B,SACE,gBAAApB;AAAA,IAACqB;AAAA,IAAA;AAAA,MACC,0BAAAR;AAAA,MACA,iBAAAD;AAAA,MACA,UAxBa,OAAOU,MAA0C;AAChE,cAAMf,EAAkBe,GAAU,YAAY;AAC5C,gBAAMC,IAAW,MAAMP,EAAgC;AAAA,YACrD,SAAS;AAAA,cACP,YAAAb;AAAA,cACA,0CAA0C;AAAA,gBACxC,YAAYmB,EAAS;AAAA,cAAA;AAAA,YACvB;AAAA,UACF,CACD;AAED,UAAAhB,EAAQkB,EAAgB,8CAA8CD,CAAQ,GAC9EjB,EAAQkB,EAAgB,uBAAuB;AAAA,QACjD,CAAC;AAAA,MACH;AAAA,MAWI,QATe,MAAM;AACvB,QAAAlB,EAAQkB,EAAgB,uBAAuB;AAAA,MACjD;AAAA,MAQI,WAAAN;AAAA,IAAA;AAAA,EAAA;AAGN,GAGaO,IAA8B,MAAM;AAC/C,QAAM,EAAE,YAAAtB,GAAY,SAAAG,EAAA,IAAYoB,EAAA;AAEhC,2BAAQ5B,GAAA,EAAkB,YAAY6B,EAAexB,CAAU,GAAG,SAAAG,GAAkB;AACtF;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Form } from '@gusto/embedded-api
|
|
1
|
+
import { Form } from '@gusto/embedded-api/models/components/form';
|
|
2
2
|
import { BaseHookReady, HookLoadingResult } from '../../../../../partner-hook-utils/types';
|
|
3
3
|
/**
|
|
4
4
|
* Parameters for {@link useDocumentsList}.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEmployeeFormsList as i } from "@gusto/embedded-api
|
|
1
|
+
import { useEmployeeFormsList as i } from "@gusto/embedded-api/react-query/employeeFormsList";
|
|
2
2
|
import { composeErrorHandler as t } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
3
3
|
function a({ employeeId: s }) {
|
|
4
4
|
const r = i({ employeeId: s }, { staleTime: 1 / 0 }), o = t([r]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentsList.js","sources":["../../../../../../src/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.tsx"],"sourcesContent":["import { useEmployeeFormsList } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"useDocumentsList.js","sources":["../../../../../../src/components/Employee/Documents/shared/useDocumentsList/useDocumentsList.tsx"],"sourcesContent":["import { useEmployeeFormsList } from '@gusto/embedded-api/react-query/employeeFormsList'\nimport type { Form } from '@gusto/embedded-api/models/components/form'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/**\n * Parameters for {@link useDocumentsList}.\n *\n * @public\n */\nexport interface UseDocumentsListParams {\n /** The associated employee identifier. */\n employeeId: string\n}\n\ntype UseDocumentsListReady = BaseHookReady<{ forms: Form[] }, { isFetching: boolean }>\n\n/**\n * Result of {@link useDocumentsList} — a discriminated union of loading and ready states.\n *\n * @public\n */\nexport type UseDocumentsListResult = HookLoadingResult | UseDocumentsListReady\n\n/**\n * Standalone data hook for an employee's forms (documents).\n *\n * @remarks\n * Wraps the `employeeFormsList` query in the standard `BaseHookReady` shape.\n * Read-only — viewing or signing a form is handled by the screen the parent\n * routes to, so this hook exposes no actions.\n *\n * @param params - See {@link UseDocumentsListParams}.\n * @returns A {@link HookLoadingResult} while loading, or the ready state with `data.forms` once loaded.\n * @public\n */\nexport function useDocumentsList({ employeeId }: UseDocumentsListParams): UseDocumentsListResult {\n // staleTime: Infinity — the SDK QueryClient invalidates on any mutation\n // success, so a long stale time avoids redundant refetches on remount.\n const formsQuery = useEmployeeFormsList({ employeeId }, { staleTime: Infinity })\n\n const errorHandling = composeErrorHandler([formsQuery])\n\n if (formsQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n return {\n isLoading: false,\n data: { forms: formsQuery.data?.forms ?? [] },\n status: { isFetching: formsQuery.isFetching },\n errorHandling,\n }\n}\n"],"names":["useDocumentsList","employeeId","formsQuery","useEmployeeFormsList","errorHandling","composeErrorHandler"],"mappings":";;AAoCO,SAASA,EAAiB,EAAE,YAAAC,KAA8D;AAG/F,QAAMC,IAAaC,EAAqB,EAAE,YAAAF,EAAA,GAAc,EAAE,WAAW,OAAU,GAEzEG,IAAgBC,EAAoB,CAACH,CAAU,CAAC;AAEtD,SAAIA,EAAW,YACN,EAAE,WAAW,IAAM,eAAAE,EAAA,IAGrB;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,OAAOF,EAAW,MAAM,SAAS,CAAA,EAAC;AAAA,IAC1C,QAAQ,EAAE,YAAYA,EAAW,WAAA;AAAA,IACjC,eAAAE;AAAA,EAAA;AAEJ;"}
|
package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentType, JSX } from 'react';
|
|
2
|
-
import { Form } from '@gusto/embedded-api
|
|
2
|
+
import { Form } from '@gusto/embedded-api/models/components/form';
|
|
3
3
|
import { SignEmployeeFormData } from './signEmployeeFormSchema';
|
|
4
4
|
import { SignatureFieldProps, ConfirmSignatureFieldProps, UsedPreparerFieldProps, PreparerTextFieldProps, PreparerSelectFieldProps, PreparerCheckboxFieldProps } from './fields';
|
|
5
5
|
import { BaseFormHookReady, FieldMetadata, FieldMetadataWithOptions, HookLoadingResult, HookSubmitResult } from '../../../../../partner-hook-utils/types';
|
package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useState as H, useMemo as R, useCallback as b, useEffect as O } from "react";
|
|
2
2
|
import { useForm as U } from "react-hook-form";
|
|
3
3
|
import { zodResolver as k } from "@hookform/resolvers/zod";
|
|
4
|
-
import { useEmployeeFormsGet as x } from "@gusto/embedded-api
|
|
5
|
-
import { useEmployeeFormsGetPdf as z } from "@gusto/embedded-api
|
|
6
|
-
import { useEmployeeFormsSignMutation as G } from "@gusto/embedded-api
|
|
4
|
+
import { useEmployeeFormsGet as x } from "@gusto/embedded-api/react-query/employeeFormsGet";
|
|
5
|
+
import { useEmployeeFormsGetPdf as z } from "@gusto/embedded-api/react-query/employeeFormsGetPdf";
|
|
6
|
+
import { useEmployeeFormsSignMutation as G } from "@gusto/embedded-api/react-query/employeeFormsSign";
|
|
7
7
|
import { createSignEmployeeFormSchema as T, MAX_PREPARERS as v, PREPARER_FIELDS_BY_INDEX as V, PREPARERS_BY_INDEX as X } from "./signEmployeeFormSchema.js";
|
|
8
8
|
import { Preparer4ConfirmSignature as Y, Preparer4Signature as Q, Preparer4Zip as j, Preparer4State as $, Preparer4City as J, Preparer4Street2 as K, Preparer4Street1 as W, Preparer4LastName as rr, Preparer4FirstName as er, Preparer3ConfirmSignature as tr, Preparer3Signature as ar, Preparer3Zip as ir, Preparer3State as sr, Preparer3City as or, Preparer3Street2 as nr, Preparer3Street1 as pr, Preparer3LastName as mr, Preparer3FirstName as ur, Preparer2ConfirmSignature as Sr, Preparer2Signature as fr, Preparer2Zip as Pr, Preparer2State as cr, Preparer2City as dr, Preparer2Street2 as gr, Preparer2Street1 as lr, Preparer2LastName as Fr, Preparer2FirstName as Nr, Preparer1ConfirmSignature as Er, Preparer1Signature as Cr, Preparer1Zip as yr, Preparer1State as Lr, Preparer1City as Rr, Preparer1Street2 as br, Preparer1Street1 as vr, Preparer1LastName as hr, Preparer1FirstName as Ar, UsedPreparerField as _r, ConfirmSignatureField as Zr, SignatureField as Ir } from "./fields.js";
|
|
9
9
|
import { useDeriveFieldsMetadata as wr } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
|
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 type { ComponentType, 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-2026-02-01/models/components/form'\nimport { useEmployeeFormsGet } from '@gusto/embedded-api-v-2026-02-01/react-query/employeeFormsGet'\nimport { useEmployeeFormsGetPdf } from '@gusto/embedded-api-v-2026-02-01/react-query/employeeFormsGetPdf'\nimport { useEmployeeFormsSignMutation } from '@gusto/embedded-api-v-2026-02-01/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 SignatureFieldProps,\n type ConfirmSignatureFieldProps,\n type UsedPreparerFieldProps,\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 FieldMetadata,\n FieldMetadataWithOptions,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { I9_FORM_NAME, STATES_ABBR, type StateAbbreviation } 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 SignEmployeeFormFields {\n /** Bound to `signature`. Text input for the employee's typed signature; always present. */\n Signature: ComponentType<SignatureFieldProps>\n /** Bound to `confirmSignature`. Checkbox for the employee's electronic-signature consent; always present. */\n ConfirmSignature: ComponentType<ConfirmSignatureFieldProps>\n /** Bound to `usedPreparer`. Radio group asking whether a preparer/translator assisted; defined only for I-9 forms. */\n UsedPreparer: ComponentType<UsedPreparerFieldProps> | 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 SignEmployeeFormFieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFields\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 SignEmployeeFormFieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFields\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/**\n * Field metadata for a standard (non-I-9) employee form — only the signature and\n * its confirmation are collected.\n *\n * @remarks\n * This is the {@link SignEmployeeFormFieldsMetadata} variant returned when the\n * form being signed is not an I-9. Every entry is a plain {@link FieldMetadata}.\n *\n * @public\n * @interface\n */\nexport type SignEmployeeBaseFieldsMetadata = {\n /** The typed-signature field. */\n signature: FieldMetadata\n /** The signature-confirmation field. */\n confirmSignature: FieldMetadata\n}\n\n/**\n * Field metadata for an I-9 employee form, which additionally collects\n * preparer/translator certification for up to four preparers.\n *\n * @remarks\n * A superset of {@link SignEmployeeBaseFieldsMetadata}. `usedPreparer` is a\n * yes/no radio and each `preparer{N}State` is a US-state select\n * ({@link StateAbbreviation}); every other preparer field is a plain text\n * {@link FieldMetadata}. Preparer entries beyond the active preparer count are\n * still typed here but only populated once that preparer section is added.\n *\n * @public\n * @interface\n */\nexport type SignEmployeeI9FieldsMetadata = Omit<\n Record<keyof SignEmployeeFormData, FieldMetadata>,\n 'usedPreparer' | 'preparerState' | 'preparer2State' | 'preparer3State' | 'preparer4State'\n> & {\n /** Yes/no radio: whether a preparer or translator assisted with the form. */\n usedPreparer: FieldMetadataWithOptions<boolean>\n /** US-state select for the first preparer's address. */\n preparerState: FieldMetadataWithOptions<StateAbbreviation>\n /** US-state select for the second preparer's address. */\n preparer2State: FieldMetadataWithOptions<StateAbbreviation>\n /** US-state select for the third preparer's address. */\n preparer3State: FieldMetadataWithOptions<StateAbbreviation>\n /** US-state select for the fourth preparer's address. */\n preparer4State: FieldMetadataWithOptions<StateAbbreviation>\n}\n\n/**\n * Shape of the `form.fieldsMetadata` object returned by {@link useSignEmployeeForm}.\n *\n * @remarks\n * A discriminated union keyed on whether the form is an I-9. Narrow with an `in`\n * check on a preparer field before reading the I-9 entries:\n *\n * ```ts\n * const { fieldsMetadata } = form\n * if ('usedPreparer' in fieldsMetadata) {\n * // fieldsMetadata is SignEmployeeI9FieldsMetadata\n * fieldsMetadata.preparerState.options\n * }\n * ```\n *\n * @public\n */\nexport type SignEmployeeFormFieldsMetadata =\n SignEmployeeBaseFieldsMetadata | SignEmployeeI9FieldsMetadata\n\nfunction buildSignEmployeeFieldsMetadata(\n baseMetadata: Record<keyof SignEmployeeFormData, FieldMetadata>,\n isI9: boolean,\n): SignEmployeeFormFieldsMetadata {\n if (!isI9) {\n return baseMetadata\n }\n\n return {\n ...baseMetadata,\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// ── 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 () => buildSignEmployeeFieldsMetadata(baseMetadata, isI9),\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"],"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","buildSignEmployeeFieldsMetadata","baseMetadata","isI9","withOptions","useSignEmployeeForm","employeeId","formId","formQuery","useEmployeeFormsGet","pdfQuery","useEmployeeFormsGetPdf","form","pdfUrl","I9_FORM_NAME","preparerCount","setPreparerCount","useState","schema","metadataConfig","useMemo","createSignEmployeeFormSchema","formMethods","useForm","zodResolver","signForm","isPending","useEmployeeFormsSignMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","useDeriveFieldsMetadata","fieldsMetadata","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 { ComponentType, 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/models/components/form'\nimport { useEmployeeFormsGet } from '@gusto/embedded-api/react-query/employeeFormsGet'\nimport { useEmployeeFormsGetPdf } from '@gusto/embedded-api/react-query/employeeFormsGetPdf'\nimport { useEmployeeFormsSignMutation } from '@gusto/embedded-api/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 SignatureFieldProps,\n type ConfirmSignatureFieldProps,\n type UsedPreparerFieldProps,\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 FieldMetadata,\n FieldMetadataWithOptions,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { I9_FORM_NAME, STATES_ABBR, type StateAbbreviation } 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 SignEmployeeFormFields {\n /** Bound to `signature`. Text input for the employee's typed signature; always present. */\n Signature: ComponentType<SignatureFieldProps>\n /** Bound to `confirmSignature`. Checkbox for the employee's electronic-signature consent; always present. */\n ConfirmSignature: ComponentType<ConfirmSignatureFieldProps>\n /** Bound to `usedPreparer`. Radio group asking whether a preparer/translator assisted; defined only for I-9 forms. */\n UsedPreparer: ComponentType<UsedPreparerFieldProps> | 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 SignEmployeeFormFieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFields\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 SignEmployeeFormFieldsMetadata,\n SignEmployeeFormData,\n SignEmployeeFormFields\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/**\n * Field metadata for a standard (non-I-9) employee form — only the signature and\n * its confirmation are collected.\n *\n * @remarks\n * This is the {@link SignEmployeeFormFieldsMetadata} variant returned when the\n * form being signed is not an I-9. Every entry is a plain {@link FieldMetadata}.\n *\n * @public\n * @interface\n */\nexport type SignEmployeeBaseFieldsMetadata = {\n /** The typed-signature field. */\n signature: FieldMetadata\n /** The signature-confirmation field. */\n confirmSignature: FieldMetadata\n}\n\n/**\n * Field metadata for an I-9 employee form, which additionally collects\n * preparer/translator certification for up to four preparers.\n *\n * @remarks\n * A superset of {@link SignEmployeeBaseFieldsMetadata}. `usedPreparer` is a\n * yes/no radio and each `preparer{N}State` is a US-state select\n * ({@link StateAbbreviation}); every other preparer field is a plain text\n * {@link FieldMetadata}. Preparer entries beyond the active preparer count are\n * still typed here but only populated once that preparer section is added.\n *\n * @public\n * @interface\n */\nexport type SignEmployeeI9FieldsMetadata = Omit<\n Record<keyof SignEmployeeFormData, FieldMetadata>,\n 'usedPreparer' | 'preparerState' | 'preparer2State' | 'preparer3State' | 'preparer4State'\n> & {\n /** Yes/no radio: whether a preparer or translator assisted with the form. */\n usedPreparer: FieldMetadataWithOptions<boolean>\n /** US-state select for the first preparer's address. */\n preparerState: FieldMetadataWithOptions<StateAbbreviation>\n /** US-state select for the second preparer's address. */\n preparer2State: FieldMetadataWithOptions<StateAbbreviation>\n /** US-state select for the third preparer's address. */\n preparer3State: FieldMetadataWithOptions<StateAbbreviation>\n /** US-state select for the fourth preparer's address. */\n preparer4State: FieldMetadataWithOptions<StateAbbreviation>\n}\n\n/**\n * Shape of the `form.fieldsMetadata` object returned by {@link useSignEmployeeForm}.\n *\n * @remarks\n * A discriminated union keyed on whether the form is an I-9. Narrow with an `in`\n * check on a preparer field before reading the I-9 entries:\n *\n * ```ts\n * const { fieldsMetadata } = form\n * if ('usedPreparer' in fieldsMetadata) {\n * // fieldsMetadata is SignEmployeeI9FieldsMetadata\n * fieldsMetadata.preparerState.options\n * }\n * ```\n *\n * @public\n */\nexport type SignEmployeeFormFieldsMetadata =\n SignEmployeeBaseFieldsMetadata | SignEmployeeI9FieldsMetadata\n\nfunction buildSignEmployeeFieldsMetadata(\n baseMetadata: Record<keyof SignEmployeeFormData, FieldMetadata>,\n isI9: boolean,\n): SignEmployeeFormFieldsMetadata {\n if (!isI9) {\n return baseMetadata\n }\n\n return {\n ...baseMetadata,\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// ── 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 () => buildSignEmployeeFieldsMetadata(baseMetadata, isI9),\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"],"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","buildSignEmployeeFieldsMetadata","baseMetadata","isI9","withOptions","useSignEmployeeForm","employeeId","formId","formQuery","useEmployeeFormsGet","pdfQuery","useEmployeeFormsGetPdf","form","pdfUrl","I9_FORM_NAME","preparerCount","setPreparerCount","useState","schema","metadataConfig","useMemo","createSignEmployeeFormSchema","formMethods","useForm","zodResolver","signForm","isPending","useEmployeeFormsSignMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","useDeriveFieldsMetadata","fieldsMetadata","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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeList.js","sources":["../../../../../src/components/Employee/EmployeeList/onboarding/EmployeeList.tsx"],"sourcesContent":["import type { OnboardingStatus } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"EmployeeList.js","sources":["../../../../../src/components/Employee/EmployeeList/onboarding/EmployeeList.tsx"],"sourcesContent":["import type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport { useEmployeeList } from '../shared/useEmployeeList'\nimport { EmployeeListView } from './EmployeeListView'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link EmployeeList}.\n *\n * @public\n */\nexport interface EmployeeListProps extends BaseComponentInterface<'Employee.EmployeeList'> {\n /** The associated company identifier. */\n companyId: string\n /**\n * Controls visibility of the Continue button in the employee list.\n *\n * @remarks\n *\n * When `true`, displays a Continue button below the populated employee list and\n * a Skip button in the empty state. These controls trigger the `employee/onboarding/done` event,\n * allowing navigation to the next step in a multi-step flow (e.g., company onboarding).\n *\n * When `false` (default), hides both buttons. Use this when the employee list is the final destination\n * in its flow and no further navigation is needed (e.g., standalone employee onboarding where\n * the list is the terminal screen).\n *\n * @defaultValue `false`\n */\n showContinueButton?: boolean\n}\n\nfunction EmployeeListRoot({\n companyId,\n onEvent,\n dictionary,\n showContinueButton = false,\n}: EmployeeListProps) {\n useI18n('Employee.EmployeeList')\n useComponentDictionary('Employee.EmployeeList', dictionary)\n\n const employeeList = useEmployeeList({\n companyId,\n })\n\n if (employeeList.isLoading) {\n return <BaseLayout isLoading error={employeeList.errorHandling.errors} />\n }\n\n const handleEdit = (employeeId: string, onboardingStatus?: OnboardingStatus) => {\n onEvent(componentEvents.EMPLOYEE_UPDATE, { employeeId, onboardingStatus })\n }\n\n const handleAddEmployee = () => {\n onEvent(componentEvents.EMPLOYEE_CREATE)\n }\n\n const handleSkip = () => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }\n\n return (\n <BaseLayout error={employeeList.errorHandling.errors}>\n <EmployeeListView\n employees={employeeList.data.employees}\n isFetching={employeeList.status.isFetching}\n pagination={employeeList.pagination}\n status={employeeList.status}\n onEdit={handleEdit}\n onDelete={async (employeeId: string) => {\n await employeeList.actions.onDelete(employeeId)\n onEvent(componentEvents.EMPLOYEE_DELETED, { employeeId })\n }}\n onCancelSelfOnboarding={async (employeeId: string) => {\n const onboardingStatus = await employeeList.actions.onCancelSelfOnboarding(employeeId)\n if (!onboardingStatus) return\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, onboardingStatus)\n }}\n onReview={async (employeeId: string) => {\n const onboardingStatus = await employeeList.actions.onReview(employeeId)\n if (!onboardingStatus) return\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, onboardingStatus)\n onEvent(componentEvents.EMPLOYEE_UPDATE, {\n employeeId,\n onboardingStatus: onboardingStatus.onboardingStatus,\n })\n }}\n onAddEmployee={handleAddEmployee}\n onSkip={handleSkip}\n showContinueButton={showContinueButton}\n />\n </BaseLayout>\n )\n}\n\n/**\n * Renders a paginated list of a company's employees with per-row onboarding actions (edit,\n * delete, review, cancel self-onboarding) and an \"Add employee\" entry point.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/create` | Fired when the user clicks \"Add employee\". | — |\n * | `employee/update` | Fired when the user selects \"Edit\" or \"Review\" on a row. | `{ employeeId: string, onboardingStatus?: OnboardingStatus }` |\n * | `employee/deleted` | Fired after a row's delete action completes. | `{ employeeId: string }` |\n * | `employee/onboardingStatus/updated` | Fired after the \"Review\" or \"Cancel self-onboarding\" action updates an employee's onboarding status. | The updated `EmployeeOnboardingStatus` record |\n * | `employee/onboarding/done` | Fired when the user clicks the skip/done control to leave the onboarding employee list. | — |\n *\n * @public\n */\nexport function EmployeeList({ FallbackComponent, ...props }: EmployeeListProps) {\n return (\n <BaseBoundaries componentName=\"Employee.EmployeeList\" FallbackComponent={FallbackComponent}>\n <EmployeeListRoot {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["EmployeeListRoot","companyId","onEvent","dictionary","showContinueButton","useI18n","useComponentDictionary","employeeList","useEmployeeList","BaseLayout","handleEdit","employeeId","onboardingStatus","componentEvents","handleAddEmployee","handleSkip","jsx","EmployeeListView","EmployeeList","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAiCA,SAASA,EAAiB;AAAA,EACxB,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC,IAAqB;AACvB,GAAsB;AACpB,EAAAC,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBH,CAAU;AAE1D,QAAMI,IAAeC,EAAgB;AAAA,IACnC,WAAAP;AAAA,EAAA,CACD;AAED,MAAIM,EAAa;AACf,6BAAQE,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAa,cAAc,QAAQ;AAGzE,QAAMG,IAAa,CAACC,GAAoBC,MAAwC;AAC9E,IAAAV,EAAQW,EAAgB,iBAAiB,EAAE,YAAAF,GAAY,kBAAAC,GAAkB;AAAA,EAC3E,GAEME,IAAoB,MAAM;AAC9B,IAAAZ,EAAQW,EAAgB,eAAe;AAAA,EACzC,GAEME,IAAa,MAAM;AACvB,IAAAb,EAAQW,EAAgB,wBAAwB;AAAA,EAClD;AAEA,SACE,gBAAAG,EAACP,GAAA,EAAW,OAAOF,EAAa,cAAc,QAC5C,UAAA,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWV,EAAa,KAAK;AAAA,MAC7B,YAAYA,EAAa,OAAO;AAAA,MAChC,YAAYA,EAAa;AAAA,MACzB,QAAQA,EAAa;AAAA,MACrB,QAAQG;AAAA,MACR,UAAU,OAAOC,MAAuB;AACtC,cAAMJ,EAAa,QAAQ,SAASI,CAAU,GAC9CT,EAAQW,EAAgB,kBAAkB,EAAE,YAAAF,EAAA,CAAY;AAAA,MAC1D;AAAA,MACA,wBAAwB,OAAOA,MAAuB;AACpD,cAAMC,IAAmB,MAAML,EAAa,QAAQ,uBAAuBI,CAAU;AACrF,QAAKC,KACLV,EAAQW,EAAgB,oCAAoCD,CAAgB;AAAA,MAC9E;AAAA,MACA,UAAU,OAAOD,MAAuB;AACtC,cAAMC,IAAmB,MAAML,EAAa,QAAQ,SAASI,CAAU;AACvE,QAAKC,MACLV,EAAQW,EAAgB,oCAAoCD,CAAgB,GAC5EV,EAAQW,EAAgB,iBAAiB;AAAA,UACvC,YAAAF;AAAA,UACA,kBAAkBC,EAAiB;AAAA,QAAA,CACpC;AAAA,MACH;AAAA,MACA,eAAeE;AAAA,MACf,QAAQC;AAAA,MACR,oBAAAX;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAiBO,SAASc,EAAa,EAAE,mBAAAC,GAAmB,GAAGC,KAA4B;AAC/E,SACE,gBAAAJ,EAACK,KAAe,eAAc,yBAAwB,mBAAAF,GACpD,UAAA,gBAAAH,EAAChB,GAAA,EAAkB,GAAGoB,EAAA,CAAO,EAAA,CAC/B;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnboardingStatus } from '@gusto/embedded-api
|
|
1
|
+
import { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus';
|
|
2
2
|
import { UseEmployeeListResult, EmployeeWithActions } from '../shared/useEmployeeList';
|
|
3
3
|
/** @internal */
|
|
4
4
|
export interface EmployeeListViewProps extends Pick<Extract<UseEmployeeListResult, {
|