@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":"HomeAddressView.js","sources":["../../../../../src/components/Employee/HomeAddress/management/HomeAddressView.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport type { EmployeeAddress } from '@gusto/embedded-api-v-2026-02-01/models/components/employeeaddress'\nimport type { TFunction } from 'i18next'\nimport {\n formatPendingHomeAddressLine,\n getPendingFutureHomeAddress,\n} from './getPendingFutureHomeAddress'\nimport HouseIcon from '@/assets/icons/house.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { HomeAddressErrorCodes } from '@/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema'\nimport type { UseHomeAddressFormReady } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { ActionsLayout, DataView, EmptyData, HamburgerMenu, useDataView } from '@/components/Common'\nimport { Flex, FlexItem } from '@/components/Common/Flex/Flex'\nimport { Grid } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { addDays, formatDateLongWithYear, normalizeToDate } from '@/helpers/dateFormatting'\nimport { formatStreetForDisplay, getCityStateZip } from '@/helpers/formattedStrings'\n\nfunction HomeAddressCourtesyWithholdingBlock({\n CourtesyWithholding,\n formHook,\n t,\n}: {\n CourtesyWithholding: UseHomeAddressFormReady['form']['Fields']['CourtesyWithholding']\n formHook: UseHomeAddressFormReady\n t: TFunction<'Employee.Management.HomeAddress'>\n}) {\n const Components = useComponentContext()\n const { control } = formHook.form.hookFormInternals.formMethods\n const courtesyWithholdingEnabled = useWatch({ control, name: 'courtesyWithholding' })\n\n return (\n <>\n <CourtesyWithholding\n label={t('form.courtesyWithholdingLabel')}\n description={\n <>\n {t('form.courtesyWithholdingDescription')}\n <Trans\n t={t}\n i18nKey=\"form.learnMoreCta\"\n components={{\n LearnMoreLink: <Components.Link />,\n }}\n />\n </>\n }\n />\n {courtesyWithholdingEnabled ? (\n <Components.Alert label={t('form.withholdingTitle')} status=\"warning\">\n <Trans t={t} i18nKey=\"form.withholdingNote\" />\n </Components.Alert>\n ) : null}\n </>\n )\n}\n\n/** @internal */\nexport interface HomeAddressViewProps {\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n /** Full list for history, pending future row, and delete confirmation (from management list query). */\n employeeHomeAddresses: EmployeeAddress[] | undefined\n employeeDisplayName: string\n /** Resolved UUID passed to the edit form (`homeAddressUuid`); active row when not editing history. */\n editingHomeAddressUuid: string | undefined\n /** `undefined` = edit active/current address; otherwise set to a history row’s UUID. */\n onEditAddressTargetChange: (homeAddressUuid: string | undefined) => void\n onSaved: (result: HookSubmitResult<EmployeeAddress>) => void\n onConfirmDelete: (homeAddressUuid: string) => Promise<boolean>\n onBack: () => void\n isDeletePending?: boolean\n}\n\n/** @internal */\nexport function HomeAddressView({\n editHomeAddressForm,\n createHomeAddressForm,\n employeeHomeAddresses,\n employeeDisplayName,\n editingHomeAddressUuid,\n onEditAddressTargetChange,\n onSaved,\n onConfirmDelete,\n onBack,\n isDeletePending = false,\n}: HomeAddressViewProps) {\n const { t } = useTranslation('Employee.Management.HomeAddress')\n const Components = useComponentContext()\n const [addressModal, setAddressModal] = useState<'edit' | 'create' | null>(null)\n const [deleteConfirmUuid, setDeleteConfirmUuid] = useState<string | null>(null)\n const addressModalContainerRef = useRef<HTMLDivElement>(null)\n const [addressModalPortal, setAddressModalPortal] = useState<HTMLElement | undefined>(undefined)\n\n useLayoutEffect(() => {\n if (!addressModal) {\n setAddressModalPortal(undefined)\n return\n }\n const syncPortal = () => {\n setAddressModalPortal(addressModalContainerRef.current ?? undefined)\n }\n syncPortal()\n if (addressModalContainerRef.current == null) {\n const id = requestAnimationFrame(syncPortal)\n return () => {\n cancelAnimationFrame(id)\n }\n }\n }, [addressModal])\n\n const {\n status: editStatus,\n actions: { onSubmit: editOnSubmit },\n form: editForm,\n } = editHomeAddressForm\n\n const homeAddresses = employeeHomeAddresses\n\n // The \"Current home address\" card must always show the active address,\n // independent of which row the edit modal is currently pointed at. Reading\n // `editHomeAddressForm.data.homeAddress` (which mirrors whichever uuid is\n // being edited) caused the card to mutate to the history row's content as\n // soon as the user opened Edit from the kebab menu.\n const currentHomeAddress = homeAddresses?.find(a => a.active === true) ?? homeAddresses?.[0]\n\n const {\n status: createStatus,\n actions: { onSubmit: createOnSubmit },\n form: createForm,\n } = createHomeAddressForm\n\n const {\n Fields: {\n Street1: EditStreet1,\n Street2: EditStreet2,\n City: EditCity,\n State: EditState,\n Zip: EditZip,\n CourtesyWithholding: EditCourtesyWithholding,\n EffectiveDate: EditEffectiveDate,\n },\n } = editForm\n\n const {\n Fields: {\n Street1: CreateStreet1,\n Street2: CreateStreet2,\n City: CreateCity,\n State: CreateState,\n Zip: CreateZip,\n CourtesyWithholding: CreateCourtesyWithholding,\n EffectiveDate: CreateEffectiveDate,\n },\n } = createForm\n\n const zipValidation = {\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.zip'),\n [HomeAddressErrorCodes.INVALID_ZIP]: t('form.validations.zip'),\n }\n\n const startDateValidation = {\n [HomeAddressErrorCodes.REQUIRED]: t('form.startDateRequired'),\n }\n\n const pendingFutureAddress = useMemo(\n () => getPendingFutureHomeAddress(homeAddresses),\n [homeAddresses],\n )\n\n const addressForDeleteModal = useMemo(() => {\n if (!deleteConfirmUuid || !homeAddresses) {\n return undefined\n }\n return homeAddresses.find(a => a.uuid === deleteConfirmUuid)\n }, [deleteConfirmUuid, homeAddresses])\n\n const changePendingPossessiveLabel = useMemo(() => {\n const trimmed = employeeDisplayName.trim()\n return trimmed ? `${trimmed}'s` : t('changePendingPossessiveFallback')\n }, [employeeDisplayName, t])\n\n const chronologicalAsc = [...(homeAddresses ?? [])].sort((a, b) => {\n const aDate = a.effectiveDate?.toString() ?? ''\n const bDate = b.effectiveDate?.toString() ?? ''\n if (!aDate && !bDate) return 0\n if (!aDate) return 1\n if (!bDate) return -1\n return aDate.localeCompare(bDate)\n })\n\n const historyAddresses = chronologicalAsc.filter(address => address.active !== true)\n const sortedHistory = [...historyAddresses].reverse()\n\n const historyEndDate = (row: EmployeeAddress) => {\n const idx = chronologicalAsc.findIndex(a => a.uuid === row.uuid)\n if (idx === -1 || idx >= chronologicalAsc.length - 1) return '—'\n const nextStart = chronologicalAsc[idx + 1]?.effectiveDate\n if (!nextStart) return '—'\n const nextDate = normalizeToDate(nextStart.toString())\n if (!nextDate) return '—'\n const endDate = addDays(nextDate, -1)\n const y = endDate.getFullYear()\n const m = String(endDate.getMonth() + 1).padStart(2, '0')\n const d = String(endDate.getDate()).padStart(2, '0')\n return formatDateLongWithYear(`${y}-${m}-${d}`)\n }\n\n const historyDataView = useDataView({\n data: sortedHistory,\n columns: [\n {\n title: t('columns.address'),\n render: (row: EmployeeAddress) => (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text weight=\"medium\">{formatStreetForDisplay(row)}</Components.Text>\n <Components.Text variant=\"supporting\">{getCityStateZip(row)}</Components.Text>\n </Flex>\n ),\n },\n {\n title: t('columns.startDate'),\n render: (row: EmployeeAddress) =>\n row.effectiveDate ? formatDateLongWithYear(row.effectiveDate.toString()) : '—',\n },\n {\n title: t('columns.endDate'),\n render: (row: EmployeeAddress) => historyEndDate(row),\n },\n ],\n itemMenu: (row: EmployeeAddress) => (\n <HamburgerMenu\n triggerLabel={t('rowMenuAriaLabel')}\n items={[\n {\n label: t('rowEdit'),\n onClick: () => {\n onEditAddressTargetChange(row.uuid)\n setAddressModal('edit')\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('rowDelete'),\n onClick: () => {\n if (row.active === true) {\n return\n }\n setDeleteConfirmUuid(row.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n ),\n emptyState: () => (\n <div data-testid=\"home-address-history-empty\">\n <EmptyData\n icon={<HouseIcon aria-hidden />}\n title={t('historyEmptyTitle')}\n description={t('historyEmptyDescription')}\n />\n </div>\n ),\n })\n\n const closeAddressModal = () => {\n setAddressModal(null)\n onEditAddressTargetChange(undefined)\n // Forms set `resetOptions: { keepDirtyValues: true }` to preserve typed input\n // across `values` re-syncs; override here so closing actually clears dirty inputs.\n editHomeAddressForm.form.hookFormInternals.formMethods.reset(undefined, {\n keepDirtyValues: false,\n })\n createHomeAddressForm.form.hookFormInternals.formMethods.reset(undefined, {\n keepDirtyValues: false,\n })\n // Clear any submit errors so reopening doesn't show stale state.\n editHomeAddressForm.errorHandling.clearSubmitError()\n createHomeAddressForm.errorHandling.clearSubmitError()\n }\n\n const handleDeleteModalConfirm = async () => {\n if (!deleteConfirmUuid) {\n return\n }\n const deleted = await onConfirmDelete(deleteConfirmUuid)\n if (deleted) {\n setDeleteConfirmUuid(null)\n }\n }\n\n const addressModalSession =\n addressModal === 'edit'\n ? {\n onSubmit: editOnSubmit,\n isPending: editStatus.isPending,\n errorHandling: editHomeAddressForm.errorHandling,\n }\n : addressModal === 'create'\n ? {\n onSubmit: createOnSubmit,\n isPending: createStatus.isPending,\n errorHandling: createHomeAddressForm.errorHandling,\n }\n : null\n\n const handleSave = async () => {\n if (!addressModalSession) {\n return\n }\n\n const submitResult = await addressModalSession.onSubmit()\n\n if (submitResult) {\n onSaved(submitResult)\n closeAddressModal()\n }\n }\n\n const modalPending = addressModalSession?.isPending ?? false\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={4} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\" styledAs=\"h2\">\n {t('title')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('currentSectionTitle')}\n action={\n currentHomeAddress ? (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('edit')\n }}\n isLoading={editStatus.isPending}\n >\n {t('editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n footer={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('create')\n }}\n isLoading={createStatus.isPending}\n >\n {t('changeCta')}\n </Components.Button>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {currentHomeAddress ? (\n <Flex flexDirection=\"column\" gap={4}>\n <FlexItem>\n <Components.Text weight=\"medium\">\n {formatStreetForDisplay(currentHomeAddress)}\n </Components.Text>\n <Components.Text weight=\"medium\">\n {getCityStateZip(currentHomeAddress)}\n </Components.Text>\n </FlexItem>\n {currentHomeAddress.effectiveDate ? (\n <Components.Text variant=\"supporting\">\n {t('currentSince', {\n date: formatDateLongWithYear(currentHomeAddress.effectiveDate.toString()),\n })}\n </Components.Text>\n ) : null}\n </Flex>\n ) : (\n <Components.Text>{t('form.noCurrentAddress')}</Components.Text>\n )}\n {pendingFutureAddress ? (\n <Components.Alert status=\"warning\" label={t('changePendingTitle')}>\n <Components.Text variant=\"supporting\">\n {t('changePendingDescription', {\n possessiveLabel: changePendingPossessiveLabel,\n newAddress: formatPendingHomeAddressLine(pendingFutureAddress),\n effectiveDate: pendingFutureAddress.effectiveDate\n ? formatDateLongWithYear(pendingFutureAddress.effectiveDate.toString())\n : '—',\n interpolation: { escapeValue: false },\n })}\n </Components.Text>\n </Components.Alert>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h2\" styledAs=\"h4\">\n {t('historySectionTitle')}\n </Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={onBack}>\n {t('backCta')}\n </Components.Button>\n </ActionsLayout>\n\n <Components.Modal\n isOpen={addressModal !== null}\n onClose={closeAddressModal}\n shouldCloseOnBackdropClick={false}\n containerRef={addressModalContainerRef}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n closeAddressModal()\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n void handleSave()\n }}\n isLoading={modalPending}\n >\n {t('submitCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {addressModal === 'edit' ? t('editModalTitle') : t('createModalTitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressModal === 'edit' ? t('editModalDescription') : t('createModalDescription')}\n </Components.Text>\n </Flex>\n {addressModalSession && addressModalSession.errorHandling.errors.length > 0 ? (\n <Components.Alert status=\"error\" label={t('submitErrorAlertTitle')}>\n <Components.UnorderedList\n items={addressModalSession.errorHandling.errors.flatMap(\n (submitError, errorIndex) => {\n const visibleFieldErrors = submitError.fieldErrors.filter(\n fieldError => fieldError.message,\n )\n if (visibleFieldErrors.length > 0) {\n return visibleFieldErrors.map(fieldError => (\n <span key={`${errorIndex}-${fieldError.field}`}>{fieldError.message}</span>\n ))\n }\n const message = submitError.message || t('submitErrorAlertFallback')\n return [<span key={errorIndex}>{message}</span>]\n },\n )}\n />\n <Components.Text variant=\"supporting\">{t('submitErrorAlertHelp')}</Components.Text>\n </Components.Alert>\n ) : null}\n {addressModal === 'edit' ? (\n <SDKFormProvider formHookResult={editHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n {EditEffectiveDate ? (\n <EditEffectiveDate\n label={t('columns.startDate')}\n description={t('startDateHelper')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n <EditStreet1\n label={t('form.street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <EditStreet2\n label={t('form.street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <EditCity\n label={t('form.city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.city'),\n }}\n />\n <EditState\n label={t('form.state')}\n placeholder={t('form.statePlaceholder')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <EditZip label={t('form.zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={EditCourtesyWithholding}\n formHook={editHomeAddressForm}\n t={t}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n {addressModal === 'create' ? (\n <SDKFormProvider formHookResult={createHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n {CreateEffectiveDate ? (\n <CreateEffectiveDate\n label={t('columns.startDate')}\n description={t('startDateHelper')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n <CreateStreet1\n label={t('form.street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <CreateStreet2\n label={t('form.street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <CreateCity\n label={t('form.city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.city'),\n }}\n />\n <CreateState\n label={t('form.state')}\n placeholder={t('form.statePlaceholder')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <CreateZip label={t('form.zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={CreateCourtesyWithholding}\n formHook={createHomeAddressForm}\n t={t}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n </Flex>\n </Components.Modal>\n\n <Components.Modal\n isOpen={deleteConfirmUuid !== null}\n onClose={() => {\n setDeleteConfirmUuid(null)\n }}\n shouldCloseOnBackdropClick={false}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setDeleteConfirmUuid(null)\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"error\"\n onClick={() => {\n void handleDeleteModalConfirm()\n }}\n isLoading={isDeletePending}\n >\n {t('deleteModalConfirmCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">{t('deleteModalTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressForDeleteModal ? (\n <Trans\n t={t}\n i18nKey=\"deleteModalDescription\"\n values={{\n address: formatPendingHomeAddressLine(addressForDeleteModal),\n }}\n components={{\n strong: <Components.Text weight=\"medium\" as=\"span\" />,\n }}\n tOptions={{ interpolation: { escapeValue: false } }}\n />\n ) : null}\n </Components.Text>\n </Flex>\n </Components.Modal>\n </Flex>\n )\n}\n"],"names":["HomeAddressCourtesyWithholdingBlock","CourtesyWithholding","formHook","t","Components","useComponentContext","control","courtesyWithholdingEnabled","useWatch","jsxs","Fragment","jsx","Trans","HomeAddressView","editHomeAddressForm","createHomeAddressForm","employeeHomeAddresses","employeeDisplayName","editingHomeAddressUuid","onEditAddressTargetChange","onSaved","onConfirmDelete","onBack","isDeletePending","useTranslation","addressModal","setAddressModal","useState","deleteConfirmUuid","setDeleteConfirmUuid","addressModalContainerRef","useRef","addressModalPortal","setAddressModalPortal","useLayoutEffect","syncPortal","id","editStatus","editOnSubmit","editForm","homeAddresses","currentHomeAddress","a","createStatus","createOnSubmit","createForm","EditStreet1","EditStreet2","EditCity","EditState","EditZip","EditCourtesyWithholding","EditEffectiveDate","CreateStreet1","CreateStreet2","CreateCity","CreateState","CreateZip","CreateCourtesyWithholding","CreateEffectiveDate","zipValidation","HomeAddressErrorCodes","startDateValidation","pendingFutureAddress","useMemo","getPendingFutureHomeAddress","addressForDeleteModal","changePendingPossessiveLabel","trimmed","chronologicalAsc","b","aDate","bDate","sortedHistory","address","historyEndDate","row","idx","nextStart","nextDate","normalizeToDate","endDate","addDays","y","m","d","formatDateLongWithYear","historyDataView","useDataView","Flex","formatStreetForDisplay","getCityStateZip","HamburgerMenu","PencilSvg","TrashCanSvg","EmptyData","HouseIcon","closeAddressModal","handleDeleteModalConfirm","addressModalSession","handleSave","submitResult","modalPending","FlexItem","formatPendingHomeAddressLine","DataView","ActionsLayout","submitError","errorIndex","visibleFieldErrors","fieldError","message","SDKFormProvider","Grid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HomeAddressView.js","sources":["../../../../../src/components/Employee/HomeAddress/management/HomeAddressView.tsx"],"sourcesContent":["import { useLayoutEffect, useMemo, useRef, useState } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport type { TFunction } from 'i18next'\nimport {\n formatPendingHomeAddressLine,\n getPendingFutureHomeAddress,\n} from './getPendingFutureHomeAddress'\nimport HouseIcon from '@/assets/icons/house.svg?react'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { HomeAddressErrorCodes } from '@/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema'\nimport type { UseHomeAddressFormReady } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { ActionsLayout, DataView, EmptyData, HamburgerMenu, useDataView } from '@/components/Common'\nimport { Flex, FlexItem } from '@/components/Common/Flex/Flex'\nimport { Grid } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { addDays, formatDateLongWithYear, normalizeToDate } from '@/helpers/dateFormatting'\nimport { formatStreetForDisplay, getCityStateZip } from '@/helpers/formattedStrings'\n\nfunction HomeAddressCourtesyWithholdingBlock({\n CourtesyWithholding,\n formHook,\n t,\n}: {\n CourtesyWithholding: UseHomeAddressFormReady['form']['Fields']['CourtesyWithholding']\n formHook: UseHomeAddressFormReady\n t: TFunction<'Employee.Management.HomeAddress'>\n}) {\n const Components = useComponentContext()\n const { control } = formHook.form.hookFormInternals.formMethods\n const courtesyWithholdingEnabled = useWatch({ control, name: 'courtesyWithholding' })\n\n return (\n <>\n <CourtesyWithholding\n label={t('form.courtesyWithholdingLabel')}\n description={\n <>\n {t('form.courtesyWithholdingDescription')}\n <Trans\n t={t}\n i18nKey=\"form.learnMoreCta\"\n components={{\n LearnMoreLink: <Components.Link />,\n }}\n />\n </>\n }\n />\n {courtesyWithholdingEnabled ? (\n <Components.Alert label={t('form.withholdingTitle')} status=\"warning\">\n <Trans t={t} i18nKey=\"form.withholdingNote\" />\n </Components.Alert>\n ) : null}\n </>\n )\n}\n\n/** @internal */\nexport interface HomeAddressViewProps {\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n /** Full list for history, pending future row, and delete confirmation (from management list query). */\n employeeHomeAddresses: EmployeeAddress[] | undefined\n employeeDisplayName: string\n /** Resolved UUID passed to the edit form (`homeAddressUuid`); active row when not editing history. */\n editingHomeAddressUuid: string | undefined\n /** `undefined` = edit active/current address; otherwise set to a history row’s UUID. */\n onEditAddressTargetChange: (homeAddressUuid: string | undefined) => void\n onSaved: (result: HookSubmitResult<EmployeeAddress>) => void\n onConfirmDelete: (homeAddressUuid: string) => Promise<boolean>\n onBack: () => void\n isDeletePending?: boolean\n}\n\n/** @internal */\nexport function HomeAddressView({\n editHomeAddressForm,\n createHomeAddressForm,\n employeeHomeAddresses,\n employeeDisplayName,\n editingHomeAddressUuid,\n onEditAddressTargetChange,\n onSaved,\n onConfirmDelete,\n onBack,\n isDeletePending = false,\n}: HomeAddressViewProps) {\n const { t } = useTranslation('Employee.Management.HomeAddress')\n const Components = useComponentContext()\n const [addressModal, setAddressModal] = useState<'edit' | 'create' | null>(null)\n const [deleteConfirmUuid, setDeleteConfirmUuid] = useState<string | null>(null)\n const addressModalContainerRef = useRef<HTMLDivElement>(null)\n const [addressModalPortal, setAddressModalPortal] = useState<HTMLElement | undefined>(undefined)\n\n useLayoutEffect(() => {\n if (!addressModal) {\n setAddressModalPortal(undefined)\n return\n }\n const syncPortal = () => {\n setAddressModalPortal(addressModalContainerRef.current ?? undefined)\n }\n syncPortal()\n if (addressModalContainerRef.current == null) {\n const id = requestAnimationFrame(syncPortal)\n return () => {\n cancelAnimationFrame(id)\n }\n }\n }, [addressModal])\n\n const {\n status: editStatus,\n actions: { onSubmit: editOnSubmit },\n form: editForm,\n } = editHomeAddressForm\n\n const homeAddresses = employeeHomeAddresses\n\n // The \"Current home address\" card must always show the active address,\n // independent of which row the edit modal is currently pointed at. Reading\n // `editHomeAddressForm.data.homeAddress` (which mirrors whichever uuid is\n // being edited) caused the card to mutate to the history row's content as\n // soon as the user opened Edit from the kebab menu.\n const currentHomeAddress = homeAddresses?.find(a => a.active === true) ?? homeAddresses?.[0]\n\n const {\n status: createStatus,\n actions: { onSubmit: createOnSubmit },\n form: createForm,\n } = createHomeAddressForm\n\n const {\n Fields: {\n Street1: EditStreet1,\n Street2: EditStreet2,\n City: EditCity,\n State: EditState,\n Zip: EditZip,\n CourtesyWithholding: EditCourtesyWithholding,\n EffectiveDate: EditEffectiveDate,\n },\n } = editForm\n\n const {\n Fields: {\n Street1: CreateStreet1,\n Street2: CreateStreet2,\n City: CreateCity,\n State: CreateState,\n Zip: CreateZip,\n CourtesyWithholding: CreateCourtesyWithholding,\n EffectiveDate: CreateEffectiveDate,\n },\n } = createForm\n\n const zipValidation = {\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.zip'),\n [HomeAddressErrorCodes.INVALID_ZIP]: t('form.validations.zip'),\n }\n\n const startDateValidation = {\n [HomeAddressErrorCodes.REQUIRED]: t('form.startDateRequired'),\n }\n\n const pendingFutureAddress = useMemo(\n () => getPendingFutureHomeAddress(homeAddresses),\n [homeAddresses],\n )\n\n const addressForDeleteModal = useMemo(() => {\n if (!deleteConfirmUuid || !homeAddresses) {\n return undefined\n }\n return homeAddresses.find(a => a.uuid === deleteConfirmUuid)\n }, [deleteConfirmUuid, homeAddresses])\n\n const changePendingPossessiveLabel = useMemo(() => {\n const trimmed = employeeDisplayName.trim()\n return trimmed ? `${trimmed}'s` : t('changePendingPossessiveFallback')\n }, [employeeDisplayName, t])\n\n const chronologicalAsc = [...(homeAddresses ?? [])].sort((a, b) => {\n const aDate = a.effectiveDate?.toString() ?? ''\n const bDate = b.effectiveDate?.toString() ?? ''\n if (!aDate && !bDate) return 0\n if (!aDate) return 1\n if (!bDate) return -1\n return aDate.localeCompare(bDate)\n })\n\n const historyAddresses = chronologicalAsc.filter(address => address.active !== true)\n const sortedHistory = [...historyAddresses].reverse()\n\n const historyEndDate = (row: EmployeeAddress) => {\n const idx = chronologicalAsc.findIndex(a => a.uuid === row.uuid)\n if (idx === -1 || idx >= chronologicalAsc.length - 1) return '—'\n const nextStart = chronologicalAsc[idx + 1]?.effectiveDate\n if (!nextStart) return '—'\n const nextDate = normalizeToDate(nextStart.toString())\n if (!nextDate) return '—'\n const endDate = addDays(nextDate, -1)\n const y = endDate.getFullYear()\n const m = String(endDate.getMonth() + 1).padStart(2, '0')\n const d = String(endDate.getDate()).padStart(2, '0')\n return formatDateLongWithYear(`${y}-${m}-${d}`)\n }\n\n const historyDataView = useDataView({\n data: sortedHistory,\n columns: [\n {\n title: t('columns.address'),\n render: (row: EmployeeAddress) => (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text weight=\"medium\">{formatStreetForDisplay(row)}</Components.Text>\n <Components.Text variant=\"supporting\">{getCityStateZip(row)}</Components.Text>\n </Flex>\n ),\n },\n {\n title: t('columns.startDate'),\n render: (row: EmployeeAddress) =>\n row.effectiveDate ? formatDateLongWithYear(row.effectiveDate.toString()) : '—',\n },\n {\n title: t('columns.endDate'),\n render: (row: EmployeeAddress) => historyEndDate(row),\n },\n ],\n itemMenu: (row: EmployeeAddress) => (\n <HamburgerMenu\n triggerLabel={t('rowMenuAriaLabel')}\n items={[\n {\n label: t('rowEdit'),\n onClick: () => {\n onEditAddressTargetChange(row.uuid)\n setAddressModal('edit')\n },\n icon: <PencilSvg aria-hidden />,\n },\n {\n label: t('rowDelete'),\n onClick: () => {\n if (row.active === true) {\n return\n }\n setDeleteConfirmUuid(row.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n />\n ),\n emptyState: () => (\n <div data-testid=\"home-address-history-empty\">\n <EmptyData\n icon={<HouseIcon aria-hidden />}\n title={t('historyEmptyTitle')}\n description={t('historyEmptyDescription')}\n />\n </div>\n ),\n })\n\n const closeAddressModal = () => {\n setAddressModal(null)\n onEditAddressTargetChange(undefined)\n // Forms set `resetOptions: { keepDirtyValues: true }` to preserve typed input\n // across `values` re-syncs; override here so closing actually clears dirty inputs.\n editHomeAddressForm.form.hookFormInternals.formMethods.reset(undefined, {\n keepDirtyValues: false,\n })\n createHomeAddressForm.form.hookFormInternals.formMethods.reset(undefined, {\n keepDirtyValues: false,\n })\n // Clear any submit errors so reopening doesn't show stale state.\n editHomeAddressForm.errorHandling.clearSubmitError()\n createHomeAddressForm.errorHandling.clearSubmitError()\n }\n\n const handleDeleteModalConfirm = async () => {\n if (!deleteConfirmUuid) {\n return\n }\n const deleted = await onConfirmDelete(deleteConfirmUuid)\n if (deleted) {\n setDeleteConfirmUuid(null)\n }\n }\n\n const addressModalSession =\n addressModal === 'edit'\n ? {\n onSubmit: editOnSubmit,\n isPending: editStatus.isPending,\n errorHandling: editHomeAddressForm.errorHandling,\n }\n : addressModal === 'create'\n ? {\n onSubmit: createOnSubmit,\n isPending: createStatus.isPending,\n errorHandling: createHomeAddressForm.errorHandling,\n }\n : null\n\n const handleSave = async () => {\n if (!addressModalSession) {\n return\n }\n\n const submitResult = await addressModalSession.onSubmit()\n\n if (submitResult) {\n onSaved(submitResult)\n closeAddressModal()\n }\n }\n\n const modalPending = addressModalSession?.isPending ?? false\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={4} alignItems=\"flex-start\">\n <Components.Heading as=\"h1\" styledAs=\"h2\">\n {t('title')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('description')}</Components.Text>\n </Flex>\n\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('currentSectionTitle')}\n action={\n currentHomeAddress ? (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('edit')\n }}\n isLoading={editStatus.isPending}\n >\n {t('editCta')}\n </Components.Button>\n ) : undefined\n }\n />\n }\n footer={\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEditAddressTargetChange(undefined)\n setAddressModal('create')\n }}\n isLoading={createStatus.isPending}\n >\n {t('changeCta')}\n </Components.Button>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n {currentHomeAddress ? (\n <Flex flexDirection=\"column\" gap={4}>\n <FlexItem>\n <Components.Text weight=\"medium\">\n {formatStreetForDisplay(currentHomeAddress)}\n </Components.Text>\n <Components.Text weight=\"medium\">\n {getCityStateZip(currentHomeAddress)}\n </Components.Text>\n </FlexItem>\n {currentHomeAddress.effectiveDate ? (\n <Components.Text variant=\"supporting\">\n {t('currentSince', {\n date: formatDateLongWithYear(currentHomeAddress.effectiveDate.toString()),\n })}\n </Components.Text>\n ) : null}\n </Flex>\n ) : (\n <Components.Text>{t('form.noCurrentAddress')}</Components.Text>\n )}\n {pendingFutureAddress ? (\n <Components.Alert status=\"warning\" label={t('changePendingTitle')}>\n <Components.Text variant=\"supporting\">\n {t('changePendingDescription', {\n possessiveLabel: changePendingPossessiveLabel,\n newAddress: formatPendingHomeAddressLine(pendingFutureAddress),\n effectiveDate: pendingFutureAddress.effectiveDate\n ? formatDateLongWithYear(pendingFutureAddress.effectiveDate.toString())\n : '—',\n interpolation: { escapeValue: false },\n })}\n </Components.Text>\n </Components.Alert>\n ) : null}\n </Flex>\n </Components.Box>\n\n <Flex flexDirection=\"column\" gap={12}>\n <Components.Heading as=\"h2\" styledAs=\"h4\">\n {t('historySectionTitle')}\n </Components.Heading>\n <DataView label={t('historySectionTitle')} {...historyDataView} />\n </Flex>\n\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={onBack}>\n {t('backCta')}\n </Components.Button>\n </ActionsLayout>\n\n <Components.Modal\n isOpen={addressModal !== null}\n onClose={closeAddressModal}\n shouldCloseOnBackdropClick={false}\n containerRef={addressModalContainerRef}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n closeAddressModal()\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"primary\"\n onClick={() => {\n void handleSave()\n }}\n isLoading={modalPending}\n >\n {t('submitCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {addressModal === 'edit' ? t('editModalTitle') : t('createModalTitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressModal === 'edit' ? t('editModalDescription') : t('createModalDescription')}\n </Components.Text>\n </Flex>\n {addressModalSession && addressModalSession.errorHandling.errors.length > 0 ? (\n <Components.Alert status=\"error\" label={t('submitErrorAlertTitle')}>\n <Components.UnorderedList\n items={addressModalSession.errorHandling.errors.flatMap(\n (submitError, errorIndex) => {\n const visibleFieldErrors = submitError.fieldErrors.filter(\n fieldError => fieldError.message,\n )\n if (visibleFieldErrors.length > 0) {\n return visibleFieldErrors.map(fieldError => (\n <span key={`${errorIndex}-${fieldError.field}`}>{fieldError.message}</span>\n ))\n }\n const message = submitError.message || t('submitErrorAlertFallback')\n return [<span key={errorIndex}>{message}</span>]\n },\n )}\n />\n <Components.Text variant=\"supporting\">{t('submitErrorAlertHelp')}</Components.Text>\n </Components.Alert>\n ) : null}\n {addressModal === 'edit' ? (\n <SDKFormProvider formHookResult={editHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n {EditEffectiveDate ? (\n <EditEffectiveDate\n label={t('columns.startDate')}\n description={t('startDateHelper')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n <EditStreet1\n label={t('form.street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <EditStreet2\n label={t('form.street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <EditCity\n label={t('form.city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.city'),\n }}\n />\n <EditState\n label={t('form.state')}\n placeholder={t('form.statePlaceholder')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <EditZip label={t('form.zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={EditCourtesyWithholding}\n formHook={editHomeAddressForm}\n t={t}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n {addressModal === 'create' ? (\n <SDKFormProvider formHookResult={createHomeAddressForm}>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: '1fr',\n }}\n gap={20}\n >\n {CreateEffectiveDate ? (\n <CreateEffectiveDate\n label={t('columns.startDate')}\n description={t('startDateHelper')}\n validationMessages={startDateValidation}\n portalContainer={addressModalPortal}\n />\n ) : null}\n <CreateStreet1\n label={t('form.street1')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <CreateStreet2\n label={t('form.street2')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.street1'),\n }}\n />\n <CreateCity\n label={t('form.city')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.city'),\n }}\n />\n <CreateState\n label={t('form.state')}\n placeholder={t('form.statePlaceholder')}\n validationMessages={{\n [HomeAddressErrorCodes.REQUIRED]: t('form.validations.state'),\n }}\n portalContainer={addressModalPortal}\n />\n <CreateZip label={t('form.zip')} validationMessages={zipValidation} />\n <HomeAddressCourtesyWithholdingBlock\n CourtesyWithholding={CreateCourtesyWithholding}\n formHook={createHomeAddressForm}\n t={t}\n />\n </Grid>\n </SDKFormProvider>\n ) : null}\n </Flex>\n </Components.Modal>\n\n <Components.Modal\n isOpen={deleteConfirmUuid !== null}\n onClose={() => {\n setDeleteConfirmUuid(null)\n }}\n shouldCloseOnBackdropClick={false}\n footer={\n <Flex flexDirection=\"row\" gap={12} justifyContent=\"flex-end\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n setDeleteConfirmUuid(null)\n }}\n >\n {t('cancelCta')}\n </Components.Button>\n <Components.Button\n variant=\"error\"\n onClick={() => {\n void handleDeleteModalConfirm()\n }}\n isLoading={isDeletePending}\n >\n {t('deleteModalConfirmCta')}\n </Components.Button>\n </Flex>\n }\n >\n <Flex flexDirection=\"column\" gap={16}>\n <Components.Heading as=\"h2\">{t('deleteModalTitle')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {addressForDeleteModal ? (\n <Trans\n t={t}\n i18nKey=\"deleteModalDescription\"\n values={{\n address: formatPendingHomeAddressLine(addressForDeleteModal),\n }}\n components={{\n strong: <Components.Text weight=\"medium\" as=\"span\" />,\n }}\n tOptions={{ interpolation: { escapeValue: false } }}\n />\n ) : null}\n </Components.Text>\n </Flex>\n </Components.Modal>\n </Flex>\n )\n}\n"],"names":["HomeAddressCourtesyWithholdingBlock","CourtesyWithholding","formHook","t","Components","useComponentContext","control","courtesyWithholdingEnabled","useWatch","jsxs","Fragment","jsx","Trans","HomeAddressView","editHomeAddressForm","createHomeAddressForm","employeeHomeAddresses","employeeDisplayName","editingHomeAddressUuid","onEditAddressTargetChange","onSaved","onConfirmDelete","onBack","isDeletePending","useTranslation","addressModal","setAddressModal","useState","deleteConfirmUuid","setDeleteConfirmUuid","addressModalContainerRef","useRef","addressModalPortal","setAddressModalPortal","useLayoutEffect","syncPortal","id","editStatus","editOnSubmit","editForm","homeAddresses","currentHomeAddress","a","createStatus","createOnSubmit","createForm","EditStreet1","EditStreet2","EditCity","EditState","EditZip","EditCourtesyWithholding","EditEffectiveDate","CreateStreet1","CreateStreet2","CreateCity","CreateState","CreateZip","CreateCourtesyWithholding","CreateEffectiveDate","zipValidation","HomeAddressErrorCodes","startDateValidation","pendingFutureAddress","useMemo","getPendingFutureHomeAddress","addressForDeleteModal","changePendingPossessiveLabel","trimmed","chronologicalAsc","b","aDate","bDate","sortedHistory","address","historyEndDate","row","idx","nextStart","nextDate","normalizeToDate","endDate","addDays","y","m","d","formatDateLongWithYear","historyDataView","useDataView","Flex","formatStreetForDisplay","getCityStateZip","HamburgerMenu","PencilSvg","TrashCanSvg","EmptyData","HouseIcon","closeAddressModal","handleDeleteModalConfirm","addressModalSession","handleSave","submitResult","modalPending","FlexItem","formatPendingHomeAddressLine","DataView","ActionsLayout","submitError","errorIndex","visibleFieldErrors","fieldError","message","SDKFormProvider","Grid"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmployeeAddress } from '@gusto/embedded-api
|
|
1
|
+
import { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress';
|
|
2
2
|
/**
|
|
3
3
|
* Returns the next inactive home address whose effective date is strictly after today (local),
|
|
4
4
|
* or undefined when there is no such scheduled change.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPendingFutureHomeAddress.js","sources":["../../../../../src/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.ts"],"sourcesContent":["import type { EmployeeAddress } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"getPendingFutureHomeAddress.js","sources":["../../../../../src/components/Employee/HomeAddress/management/getPendingFutureHomeAddress.ts"],"sourcesContent":["import type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { normalizeToDate } from '@/helpers/dateFormatting'\n\nconst startOfLocalDay = (d: Date) => new Date(d.getFullYear(), d.getMonth(), d.getDate())\n\n/**\n * Returns the next inactive home address whose effective date is strictly after today (local),\n * or undefined when there is no such scheduled change.\n *\n * @internal\n */\nexport function getPendingFutureHomeAddress(\n addresses: EmployeeAddress[] | undefined,\n now: Date = new Date(),\n): EmployeeAddress | undefined {\n if (!addresses?.length) {\n return undefined\n }\n\n const todayStart = startOfLocalDay(now)\n\n const pending = addresses.filter(address => {\n if (address.active === true) {\n return false\n }\n const raw = address.effectiveDate\n if (!raw) {\n return false\n }\n const parsed = normalizeToDate(raw.toString())\n if (!parsed) {\n return false\n }\n return startOfLocalDay(parsed) > todayStart\n })\n\n if (pending.length === 0) {\n return undefined\n }\n\n pending.sort((a, b) => {\n const as = a.effectiveDate?.toString() ?? ''\n const bs = b.effectiveDate?.toString() ?? ''\n return as.localeCompare(bs)\n })\n\n return pending[0]\n}\n\nconst USA_LABELS = new Set(['USA', 'US'])\n\nfunction formatCountryForDisplay(country: string | null | undefined): string {\n if (!country?.trim()) {\n return ''\n }\n const c = country.trim()\n return USA_LABELS.has(c) ? 'United States' : c\n}\n\n/**\n * Single-line address for pending-change copy (matches product mock: street, city, ST zip, country).\n *\n * @internal\n */\nexport function formatPendingHomeAddressLine(address: EmployeeAddress): string {\n const streetLine = [address.street1, address.street2].filter(Boolean).join(', ')\n const cityStateZip = [address.city, [address.state, address.zip].filter(Boolean).join(' ')]\n .filter(Boolean)\n .join(', ')\n const country = formatCountryForDisplay(address.country)\n\n return [streetLine, cityStateZip, country].filter(Boolean).join(', ')\n}\n"],"names":["startOfLocalDay","d","getPendingFutureHomeAddress","addresses","now","todayStart","pending","address","raw","parsed","normalizeToDate","a","b","as","bs","USA_LABELS","formatCountryForDisplay","country","c","formatPendingHomeAddressLine","streetLine","cityStateZip"],"mappings":";AAGA,MAAMA,IAAkB,CAACC,MAAY,IAAI,KAAKA,EAAE,eAAeA,EAAE,SAAA,GAAYA,EAAE,SAAS;AAQjF,SAASC,EACdC,GACAC,IAAY,oBAAI,QACa;AAC7B,MAAI,CAACD,GAAW;AACd;AAGF,QAAME,IAAaL,EAAgBI,CAAG,GAEhCE,IAAUH,EAAU,OAAO,CAAAI,MAAW;AAC1C,QAAIA,EAAQ,WAAW;AACrB,aAAO;AAET,UAAMC,IAAMD,EAAQ;AACpB,QAAI,CAACC;AACH,aAAO;AAET,UAAMC,IAASC,EAAgBF,EAAI,SAAA,CAAU;AAC7C,WAAKC,IAGET,EAAgBS,CAAM,IAAIJ,IAFxB;AAAA,EAGX,CAAC;AAED,MAAIC,EAAQ,WAAW;AAIvB,WAAAA,EAAQ,KAAK,CAACK,GAAGC,MAAM;AACrB,YAAMC,IAAKF,EAAE,eAAe,SAAA,KAAc,IACpCG,IAAKF,EAAE,eAAe,SAAA,KAAc;AAC1C,aAAOC,EAAG,cAAcC,CAAE;AAAA,IAC5B,CAAC,GAEMR,EAAQ,CAAC;AAClB;AAEA,MAAMS,IAAa,oBAAI,IAAI,CAAC,OAAO,IAAI,CAAC;AAExC,SAASC,EAAwBC,GAA4C;AAC3E,MAAI,CAACA,GAAS;AACZ,WAAO;AAET,QAAMC,IAAID,EAAQ,KAAA;AAClB,SAAOF,EAAW,IAAIG,CAAC,IAAI,kBAAkBA;AAC/C;AAOO,SAASC,EAA6BZ,GAAkC;AAC7E,QAAMa,IAAa,CAACb,EAAQ,SAASA,EAAQ,OAAO,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GACzEc,IAAe,CAACd,EAAQ,MAAM,CAACA,EAAQ,OAAOA,EAAQ,GAAG,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC,EACvF,OAAO,OAAO,EACd,KAAK,IAAI,GACNU,IAAUD,EAAwBT,EAAQ,OAAO;AAEvD,SAAO,CAACa,GAAYC,GAAcJ,CAAO,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI;AACtE;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmployeeAddress } from '@gusto/embedded-api
|
|
1
|
+
import { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress';
|
|
2
2
|
import { OnEventType } from '../../../Base/useBase';
|
|
3
3
|
import { UseHomeAddressFormReady, UseHomeAddressFormResult } from '../../Profile/shared/useHomeAddressForm';
|
|
4
4
|
import { BaseHookReady, HookLoadingResult } from '../../../../partner-hook-utils/types';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useState as N, useMemo as U } from "react";
|
|
2
|
-
import { useEmployeeAddressesDeleteMutation as _ } from "@gusto/embedded-api
|
|
3
|
-
import { useEmployeeAddressesGet as T } from "@gusto/embedded-api
|
|
4
|
-
import { useEmployeesGet as G } from "@gusto/embedded-api
|
|
2
|
+
import { useEmployeeAddressesDeleteMutation as _ } from "@gusto/embedded-api/react-query/employeeAddressesDelete";
|
|
3
|
+
import { useEmployeeAddressesGet as T } from "@gusto/embedded-api/react-query/employeeAddressesGet";
|
|
4
|
+
import { useEmployeesGet as G } from "@gusto/embedded-api/react-query/employeesGet";
|
|
5
5
|
import { useBaseSubmit as C } from "../../../Base/useBaseSubmit.js";
|
|
6
6
|
import { useHomeAddressForm as y } from "../../Profile/shared/useHomeAddressForm/useHomeAddressForm.js";
|
|
7
7
|
import { composeErrorHandler as O } from "../../../../partner-hook-utils/composeErrorHandler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHomeAddressManagement.js","sources":["../../../../../src/components/Employee/HomeAddress/management/useHomeAddressManagement.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EmployeeAddress } from '@gusto/embedded-api-v-2026-02-01/models/components/employeeaddress'\nimport { useEmployeeAddressesDeleteMutation } from '@gusto/embedded-api-v-2026-02-01/react-query/employeeAddressesDelete'\nimport { useEmployeeAddressesGet } from '@gusto/embedded-api-v-2026-02-01/react-query/employeeAddressesGet'\nimport { useEmployeesGet } from '@gusto/embedded-api-v-2026-02-01/react-query/employeesGet'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { useHomeAddressForm } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport type {\n UseHomeAddressFormReady,\n UseHomeAddressFormResult,\n} from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseHookReady,\n HookErrorHandling,\n HookLoadingResult,\n} from '@/partner-hook-utils/types'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Params for {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport interface UseHomeAddressManagementParams {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when a home address is deleted. */\n onEvent: OnEventType<EventType, unknown>\n}\n\ninterface UseHomeAddressManagementDataPendingForms extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormResult\n createHomeAddressForm: UseHomeAddressFormResult\n}\n\ninterface UseHomeAddressManagementDataReady extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n}\n\ninterface UseHomeAddressManagementStatusEmployeeError extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: true\n}\n\ninterface UseHomeAddressManagementStatusSuccess extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: false\n}\n\ninterface UseHomeAddressManagementActions {\n setEditAddressTarget: (homeAddressUuid: string | undefined) => void\n confirmDeleteHomeAddress: (homeAddressUuid: string) => Promise<boolean>\n}\n\ninterface UseHomeAddressManagementReadyEmployeeError extends BaseHookReady<\n UseHomeAddressManagementDataPendingForms,\n UseHomeAddressManagementStatusEmployeeError\n> {\n actions: UseHomeAddressManagementActions\n}\n\n/**\n * Ready state of {@link useHomeAddressManagement} when the employee was fetched successfully.\n *\n * @public\n */\nexport interface UseHomeAddressManagementReadySuccess extends BaseHookReady<\n UseHomeAddressManagementDataReady,\n UseHomeAddressManagementStatusSuccess\n> {\n /** Actions for changing edit target and confirming home address deletion. */\n actions: UseHomeAddressManagementActions\n}\n\ntype UseHomeAddressManagementReady =\n UseHomeAddressManagementReadyEmployeeError | UseHomeAddressManagementReadySuccess\n\n/**\n * Return type of {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport type UseHomeAddressManagementResult = HookLoadingResult | UseHomeAddressManagementReady\n\n/**\n * Type guard for the success branch of {@link useHomeAddressManagement}.\n *\n * @param value - The hook result to narrow.\n * @returns `true` when the hook has finished loading and the employee fetch succeeded.\n * @public\n */\nexport function isUseHomeAddressManagementSuccess(\n value: UseHomeAddressManagementResult,\n): value is UseHomeAddressManagementReadySuccess {\n if (value.isLoading) {\n return false\n }\n return !value.status.isEmployeeError\n}\n\nfunction homeAddressFormsReady(\n editHomeAddressForm: UseHomeAddressFormResult,\n createHomeAddressForm: UseHomeAddressFormResult,\n): Pick<UseHomeAddressManagementDataReady, 'editHomeAddressForm' | 'createHomeAddressForm'> {\n if (editHomeAddressForm.isLoading) {\n throw new SDKInternalError('Edit home address form is still loading')\n }\n if (createHomeAddressForm.isLoading) {\n throw new SDKInternalError('Create home address form is still loading')\n }\n return {\n editHomeAddressForm,\n createHomeAddressForm,\n }\n}\n\n/**\n * Headless hook for managing an employee's home addresses.\n *\n * @remarks\n * Fetches the employee and their home addresses, exposes edit and create form hooks\n * for the address modal, and provides an action to delete a non-active address.\n * Use {@link isUseHomeAddressManagementSuccess} to narrow the ready state when the\n * employee fetch succeeded.\n *\n * @param params - {@link UseHomeAddressManagementParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state once data is available.\n * @public\n */\nexport function useHomeAddressManagement({\n employeeId,\n onEvent,\n}: UseHomeAddressManagementParams): UseHomeAddressManagementResult {\n const {\n baseSubmitHandler,\n error: rootSubmitError,\n setError: setRootSubmitError,\n } = useBaseSubmit('Employee.Management.HomeAddress')\n const deleteHomeAddressMutation = useEmployeeAddressesDeleteMutation()\n\n const [editTargetUuid, setEditAddressTarget] = useState<string | undefined>(undefined)\n\n const homeAddressesQuery = useEmployeeAddressesGet({ employeeId }, { enabled: !!employeeId })\n const employeeHomeAddresses = homeAddressesQuery.data?.employeeAddressList\n const currentHomeAddress =\n employeeHomeAddresses?.find(a => a.active) ?? employeeHomeAddresses?.[0]\n\n const editingHomeAddressUuid = editTargetUuid ?? currentHomeAddress?.uuid\n\n const editingHomeAddressRow = editingHomeAddressUuid\n ? employeeHomeAddresses?.find(a => a.uuid === editingHomeAddressUuid)\n : undefined\n\n const editHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: editingHomeAddressUuid,\n initialAddress: editingHomeAddressRow,\n withEffectiveDateField: true,\n })\n const createHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: undefined,\n withEffectiveDateField: true,\n })\n\n const employeeQuery = useEmployeesGet({ employeeId }, { enabled: !!employeeId })\n\n const employeeDisplayName = useMemo(() => {\n const employee = employeeQuery.data?.employee\n if (!employee) {\n return ''\n }\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }).trim()\n }, [employeeQuery.data?.employee])\n\n // Form hooks are intentionally excluded here so their submit errors don't render in the\n // page-level BaseLayout outside the edit/create modal (SDK-930). The view renders those\n // errors inside the modal directly via the form hook's own errorHandling.\n const errorHandling: HookErrorHandling = composeErrorHandler(\n [employeeQuery, homeAddressesQuery],\n { submitError: rootSubmitError, setSubmitError: setRootSubmitError },\n )\n\n const confirmDeleteHomeAddress = async (homeAddressUuid: string): Promise<boolean> => {\n const snapshot = employeeHomeAddresses?.find(a => a.uuid === homeAddressUuid) ?? null\n\n let succeeded = false\n await baseSubmitHandler(\n { homeAddressUuid, snapshot },\n async ({ homeAddressUuid: uuid, snapshot: snap }) => {\n const target = employeeHomeAddresses?.find(a => a.uuid === uuid)\n if (!target) {\n throw new SDKInternalError('Home address not found')\n }\n if (target.active === true) {\n throw new SDKInternalError('Cannot delete the active home address')\n }\n\n await deleteHomeAddressMutation.mutateAsync({\n request: { homeAddressUuid: uuid },\n })\n succeeded = true\n if (snap) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_DELETED, snap)\n }\n },\n )\n return succeeded\n }\n\n const actions: UseHomeAddressManagementActions = {\n setEditAddressTarget,\n confirmDeleteHomeAddress,\n }\n\n const dataPayloadPendingForms: UseHomeAddressManagementDataPendingForms = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm,\n createHomeAddressForm,\n }\n\n if (employeeQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n if (employeeQuery.isError) {\n return {\n isLoading: false,\n data: dataPayloadPendingForms,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: true,\n },\n errorHandling,\n actions,\n }\n }\n\n const isFormsLoading = editHomeAddressForm.isLoading || createHomeAddressForm.isLoading\n if (isFormsLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const { editHomeAddressForm: editReady, createHomeAddressForm: createReady } =\n homeAddressFormsReady(editHomeAddressForm, createHomeAddressForm)\n\n const dataReady: UseHomeAddressManagementDataReady = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm: editReady,\n createHomeAddressForm: createReady,\n }\n\n return {\n isLoading: false,\n data: dataReady,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: false,\n },\n errorHandling,\n actions,\n }\n}\n"],"names":["isUseHomeAddressManagementSuccess","value","homeAddressFormsReady","editHomeAddressForm","createHomeAddressForm","SDKInternalError","useHomeAddressManagement","employeeId","onEvent","baseSubmitHandler","rootSubmitError","setRootSubmitError","useBaseSubmit","deleteHomeAddressMutation","useEmployeeAddressesDeleteMutation","editTargetUuid","setEditAddressTarget","useState","homeAddressesQuery","useEmployeeAddressesGet","employeeHomeAddresses","currentHomeAddress","a","editingHomeAddressUuid","editingHomeAddressRow","useHomeAddressForm","employeeQuery","useEmployeesGet","employeeDisplayName","useMemo","employee","firstLastName","errorHandling","composeErrorHandler","actions","homeAddressUuid","snapshot","succeeded","uuid","snap","target","componentEvents","dataPayloadPendingForms","editReady","createReady"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useHomeAddressManagement.js","sources":["../../../../../src/components/Employee/HomeAddress/management/useHomeAddressManagement.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesDeleteMutation } from '@gusto/embedded-api/react-query/employeeAddressesDelete'\nimport { useEmployeeAddressesGet } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { useEmployeesGet } from '@gusto/embedded-api/react-query/employeesGet'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { useHomeAddressForm } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport type {\n UseHomeAddressFormReady,\n UseHomeAddressFormResult,\n} from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseHookReady,\n HookErrorHandling,\n HookLoadingResult,\n} from '@/partner-hook-utils/types'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Params for {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport interface UseHomeAddressManagementParams {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when a home address is deleted. */\n onEvent: OnEventType<EventType, unknown>\n}\n\ninterface UseHomeAddressManagementDataPendingForms extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormResult\n createHomeAddressForm: UseHomeAddressFormResult\n}\n\ninterface UseHomeAddressManagementDataReady extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n}\n\ninterface UseHomeAddressManagementStatusEmployeeError extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: true\n}\n\ninterface UseHomeAddressManagementStatusSuccess extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: false\n}\n\ninterface UseHomeAddressManagementActions {\n setEditAddressTarget: (homeAddressUuid: string | undefined) => void\n confirmDeleteHomeAddress: (homeAddressUuid: string) => Promise<boolean>\n}\n\ninterface UseHomeAddressManagementReadyEmployeeError extends BaseHookReady<\n UseHomeAddressManagementDataPendingForms,\n UseHomeAddressManagementStatusEmployeeError\n> {\n actions: UseHomeAddressManagementActions\n}\n\n/**\n * Ready state of {@link useHomeAddressManagement} when the employee was fetched successfully.\n *\n * @public\n */\nexport interface UseHomeAddressManagementReadySuccess extends BaseHookReady<\n UseHomeAddressManagementDataReady,\n UseHomeAddressManagementStatusSuccess\n> {\n /** Actions for changing edit target and confirming home address deletion. */\n actions: UseHomeAddressManagementActions\n}\n\ntype UseHomeAddressManagementReady =\n UseHomeAddressManagementReadyEmployeeError | UseHomeAddressManagementReadySuccess\n\n/**\n * Return type of {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport type UseHomeAddressManagementResult = HookLoadingResult | UseHomeAddressManagementReady\n\n/**\n * Type guard for the success branch of {@link useHomeAddressManagement}.\n *\n * @param value - The hook result to narrow.\n * @returns `true` when the hook has finished loading and the employee fetch succeeded.\n * @public\n */\nexport function isUseHomeAddressManagementSuccess(\n value: UseHomeAddressManagementResult,\n): value is UseHomeAddressManagementReadySuccess {\n if (value.isLoading) {\n return false\n }\n return !value.status.isEmployeeError\n}\n\nfunction homeAddressFormsReady(\n editHomeAddressForm: UseHomeAddressFormResult,\n createHomeAddressForm: UseHomeAddressFormResult,\n): Pick<UseHomeAddressManagementDataReady, 'editHomeAddressForm' | 'createHomeAddressForm'> {\n if (editHomeAddressForm.isLoading) {\n throw new SDKInternalError('Edit home address form is still loading')\n }\n if (createHomeAddressForm.isLoading) {\n throw new SDKInternalError('Create home address form is still loading')\n }\n return {\n editHomeAddressForm,\n createHomeAddressForm,\n }\n}\n\n/**\n * Headless hook for managing an employee's home addresses.\n *\n * @remarks\n * Fetches the employee and their home addresses, exposes edit and create form hooks\n * for the address modal, and provides an action to delete a non-active address.\n * Use {@link isUseHomeAddressManagementSuccess} to narrow the ready state when the\n * employee fetch succeeded.\n *\n * @param params - {@link UseHomeAddressManagementParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state once data is available.\n * @public\n */\nexport function useHomeAddressManagement({\n employeeId,\n onEvent,\n}: UseHomeAddressManagementParams): UseHomeAddressManagementResult {\n const {\n baseSubmitHandler,\n error: rootSubmitError,\n setError: setRootSubmitError,\n } = useBaseSubmit('Employee.Management.HomeAddress')\n const deleteHomeAddressMutation = useEmployeeAddressesDeleteMutation()\n\n const [editTargetUuid, setEditAddressTarget] = useState<string | undefined>(undefined)\n\n const homeAddressesQuery = useEmployeeAddressesGet({ employeeId }, { enabled: !!employeeId })\n const employeeHomeAddresses = homeAddressesQuery.data?.employeeAddressList\n const currentHomeAddress =\n employeeHomeAddresses?.find(a => a.active) ?? employeeHomeAddresses?.[0]\n\n const editingHomeAddressUuid = editTargetUuid ?? currentHomeAddress?.uuid\n\n const editingHomeAddressRow = editingHomeAddressUuid\n ? employeeHomeAddresses?.find(a => a.uuid === editingHomeAddressUuid)\n : undefined\n\n const editHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: editingHomeAddressUuid,\n initialAddress: editingHomeAddressRow,\n withEffectiveDateField: true,\n })\n const createHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: undefined,\n withEffectiveDateField: true,\n })\n\n const employeeQuery = useEmployeesGet({ employeeId }, { enabled: !!employeeId })\n\n const employeeDisplayName = useMemo(() => {\n const employee = employeeQuery.data?.employee\n if (!employee) {\n return ''\n }\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }).trim()\n }, [employeeQuery.data?.employee])\n\n // Form hooks are intentionally excluded here so their submit errors don't render in the\n // page-level BaseLayout outside the edit/create modal (SDK-930). The view renders those\n // errors inside the modal directly via the form hook's own errorHandling.\n const errorHandling: HookErrorHandling = composeErrorHandler(\n [employeeQuery, homeAddressesQuery],\n { submitError: rootSubmitError, setSubmitError: setRootSubmitError },\n )\n\n const confirmDeleteHomeAddress = async (homeAddressUuid: string): Promise<boolean> => {\n const snapshot = employeeHomeAddresses?.find(a => a.uuid === homeAddressUuid) ?? null\n\n let succeeded = false\n await baseSubmitHandler(\n { homeAddressUuid, snapshot },\n async ({ homeAddressUuid: uuid, snapshot: snap }) => {\n const target = employeeHomeAddresses?.find(a => a.uuid === uuid)\n if (!target) {\n throw new SDKInternalError('Home address not found')\n }\n if (target.active === true) {\n throw new SDKInternalError('Cannot delete the active home address')\n }\n\n await deleteHomeAddressMutation.mutateAsync({\n request: { homeAddressUuid: uuid },\n })\n succeeded = true\n if (snap) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_DELETED, snap)\n }\n },\n )\n return succeeded\n }\n\n const actions: UseHomeAddressManagementActions = {\n setEditAddressTarget,\n confirmDeleteHomeAddress,\n }\n\n const dataPayloadPendingForms: UseHomeAddressManagementDataPendingForms = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm,\n createHomeAddressForm,\n }\n\n if (employeeQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n if (employeeQuery.isError) {\n return {\n isLoading: false,\n data: dataPayloadPendingForms,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: true,\n },\n errorHandling,\n actions,\n }\n }\n\n const isFormsLoading = editHomeAddressForm.isLoading || createHomeAddressForm.isLoading\n if (isFormsLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const { editHomeAddressForm: editReady, createHomeAddressForm: createReady } =\n homeAddressFormsReady(editHomeAddressForm, createHomeAddressForm)\n\n const dataReady: UseHomeAddressManagementDataReady = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm: editReady,\n createHomeAddressForm: createReady,\n }\n\n return {\n isLoading: false,\n data: dataReady,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: false,\n },\n errorHandling,\n actions,\n }\n}\n"],"names":["isUseHomeAddressManagementSuccess","value","homeAddressFormsReady","editHomeAddressForm","createHomeAddressForm","SDKInternalError","useHomeAddressManagement","employeeId","onEvent","baseSubmitHandler","rootSubmitError","setRootSubmitError","useBaseSubmit","deleteHomeAddressMutation","useEmployeeAddressesDeleteMutation","editTargetUuid","setEditAddressTarget","useState","homeAddressesQuery","useEmployeeAddressesGet","employeeHomeAddresses","currentHomeAddress","a","editingHomeAddressUuid","editingHomeAddressRow","useHomeAddressForm","employeeQuery","useEmployeesGet","employeeDisplayName","useMemo","employee","firstLastName","errorHandling","composeErrorHandler","actions","homeAddressUuid","snapshot","succeeded","uuid","snap","target","componentEvents","dataPayloadPendingForms","editReady","createReady"],"mappings":"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"}
|
package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmployeeAddress } from '@gusto/embedded-api
|
|
1
|
+
import { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress';
|
|
2
2
|
import { BaseHookReady, HookLoadingResult } from '../../../../../partner-hook-utils/types';
|
|
3
3
|
/**
|
|
4
4
|
* Params for {@link useHomeAddressSummary}.
|
package/dist/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useEmployeeAddressesGet as d } from "@gusto/embedded-api
|
|
1
|
+
import { useEmployeeAddressesGet as d } from "@gusto/embedded-api/react-query/employeeAddressesGet";
|
|
2
2
|
import { composeErrorHandler as n } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
3
3
|
function c({
|
|
4
4
|
employeeId: t
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHomeAddressSummary.js","sources":["../../../../../../src/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.tsx"],"sourcesContent":["import { useEmployeeAddressesGet } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"useHomeAddressSummary.js","sources":["../../../../../../src/components/Employee/HomeAddress/shared/useHomeAddressSummary/useHomeAddressSummary.tsx"],"sourcesContent":["import { useEmployeeAddressesGet } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/**\n * Params for {@link useHomeAddressSummary}.\n *\n * @public\n */\nexport interface UseHomeAddressSummaryParams {\n /** The associated employee identifier. */\n employeeId: string\n}\n\ntype UseHomeAddressSummaryReady = BaseHookReady<\n {\n currentHomeAddress: EmployeeAddress | undefined\n employeeAddressList: EmployeeAddress[]\n },\n { isFetching: boolean; isPending: boolean }\n>\n\n/**\n * Return type of {@link useHomeAddressSummary}.\n *\n * @public\n */\nexport type UseHomeAddressSummaryResult = HookLoadingResult | UseHomeAddressSummaryReady\n\n/**\n * Read-only headless hook returning the employee's active home address and full address list.\n *\n * @remarks\n * Use {@link useHomeAddressManagement} when you need create, update, or delete actions.\n *\n * @param params - {@link UseHomeAddressSummaryParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state with `currentHomeAddress` and `employeeAddressList`.\n * @public\n */\nexport function useHomeAddressSummary({\n employeeId,\n}: UseHomeAddressSummaryParams): UseHomeAddressSummaryResult {\n const addressesQuery = useEmployeeAddressesGet({ employeeId }, { staleTime: Infinity })\n\n const errorHandling = composeErrorHandler([addressesQuery])\n\n if (addressesQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const employeeAddressList = addressesQuery.data?.employeeAddressList ?? []\n const currentHomeAddress = employeeAddressList.find(address => address.active)\n\n return {\n isLoading: false,\n data: { currentHomeAddress, employeeAddressList },\n status: {\n isFetching: addressesQuery.isFetching,\n isPending: false,\n },\n errorHandling,\n }\n}\n"],"names":["useHomeAddressSummary","employeeId","addressesQuery","useEmployeeAddressesGet","errorHandling","composeErrorHandler","employeeAddressList","address"],"mappings":";;AAwCO,SAASA,EAAsB;AAAA,EACpC,YAAAC;AACF,GAA6D;AAC3D,QAAMC,IAAiBC,EAAwB,EAAE,YAAAF,EAAA,GAAc,EAAE,WAAW,OAAU,GAEhFG,IAAgBC,EAAoB,CAACH,CAAc,CAAC;AAE1D,MAAIA,EAAe;AACjB,WAAO,EAAE,WAAW,IAAM,eAAAE,EAAA;AAG5B,QAAME,IAAsBJ,EAAe,MAAM,uBAAuB,CAAA;AAGxE,SAAO;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,oBAJiBI,EAAoB,KAAK,CAAAC,MAAWA,EAAQ,MAAM,GAI/C,qBAAAD,EAAA;AAAA,IAC5B,QAAQ;AAAA,MACN,YAAYJ,EAAe;AAAA,MAC3B,WAAW;AAAA,IAAA;AAAA,IAEb,eAAAE;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as h } from "react-i18next";
|
|
3
|
-
import { useEmployeesGetSuspense as g } from "@gusto/embedded-api
|
|
4
|
-
import { useCompaniesGetSuspense as y } from "@gusto/embedded-api
|
|
3
|
+
import { useEmployeesGetSuspense as g } from "@gusto/embedded-api/react-query/employeesGet";
|
|
4
|
+
import { useCompaniesGetSuspense as y } from "@gusto/embedded-api/react-query/companiesGet";
|
|
5
5
|
import m from "dompurify";
|
|
6
6
|
import { useMemo as c } from "react";
|
|
7
7
|
import { BaseComponent as x } from "../../Base/Base.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Employee/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Employee/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useCompaniesGetSuspense } from '@gusto/embedded-api/react-query/companiesGet'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport ArrowRightIcon from '@/assets/icons/icon-arrow-right.svg?react'\n\n/**\n * Props for the {@link Landing} component.\n *\n * @public\n */\nexport interface LandingProps extends BaseComponentInterface<'Employee.Landing'> {\n /** UUID of the employee entering the self-onboarding flow. */\n employeeId: string\n /** UUID of the company the employee belongs to. */\n companyId: string\n}\n\n/**\n * Landing page for the employee self-onboarding flow. Displays a welcome\n * message and the list of onboarding steps the employee needs to complete.\n *\n * @public\n */\nexport function Landing(props: LandingProps) {\n useI18n('Employee.Landing')\n useComponentDictionary('Employee.Landing', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, companyId, className }: LandingProps) => {\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(employee!.firstName), [employee])\n\n const {\n data: { company },\n } = useCompaniesGetSuspense({ companyId })\n const sanitizedCompanyName = useMemo(() => DOMPurify.sanitize(company?.name ?? ''), [company])\n\n const { t } = useTranslation('Employee.Landing')\n\n return (\n <section className={className}>\n <Components.Box\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n <ArrowRightIcon aria-hidden />\n </Components.Button>\n </ActionsLayout>\n }\n >\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('landingSubtitle', {\n firstName: sanitizedFirstName,\n companyName: sanitizedCompanyName,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('landingDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <Components.UnorderedList\n items={[t('steps.personalInfo'), t('steps.taxInfo'), t('steps.bankInfo')]}\n />\n </Flex>\n </Flex>\n </Components.Box>\n </section>\n )\n}\n"],"names":["Landing","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","employeeId","companyId","className","onEvent","useBase","Components","useComponentContext","employee","useEmployeesGetSuspense","sanitizedFirstName","useMemo","DOMPurify","company","useCompaniesGetSuspense","sanitizedCompanyName","t","useTranslation","ActionsLayout","jsxs","componentEvents","ArrowRightIcon","Flex"],"mappings":";;;;;;;;;;;;;;AA+BO,SAASA,EAAQC,GAAqB;AAC3C,SAAAC,EAAQ,kBAAkB,GAC1BC,EAAuB,oBAAoBF,EAAM,UAAU,GAGzD,gBAAAG,EAACC,GAAA,EAAe,GAAGJ,GACjB,UAAA,gBAAAG,EAACE,KAAM,GAAGL,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMK,IAAO,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,WAAAC,QAA8B;AACnE,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAaC,EAAA,GAEb;AAAA,IACJ,MAAM,EAAE,UAAAC,EAAA;AAAA,EAAS,IACfC,EAAwB,EAAE,YAAAR,GAAY,GACpCS,IAAqBC,EAAQ,MAAMC,EAAU,SAASJ,EAAU,SAAS,GAAG,CAACA,CAAQ,CAAC,GAEtF;AAAA,IACJ,MAAM,EAAE,SAAAK,EAAA;AAAA,EAAQ,IACdC,EAAwB,EAAE,WAAAZ,GAAW,GACnCa,IAAuBJ,EAAQ,MAAMC,EAAU,SAASC,GAAS,QAAQ,EAAE,GAAG,CAACA,CAAO,CAAC,GAEvF,EAAE,GAAAG,EAAA,IAAMC,EAAe,kBAAkB;AAE/C,SACE,gBAAAnB,EAAC,aAAQ,WAAAK,GACP,UAAA,gBAAAL;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,0BACGY,GAAA,EACC,UAAA,gBAAAC;AAAA,QAACb,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAF,EAAQgB,EAAgB,8BAA8B;AAAA,UACxD;AAAA,UAEC,UAAA;AAAA,YAAAJ,EAAE,eAAe;AAAA,YAClB,gBAAAlB,EAACuB,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEhC;AAAA,MAGF,4BAACC,GAAA,EAAK,YAAW,UAAS,eAAc,UAAS,KAAK,IACpD,UAAA;AAAA,QAAA,gBAAAH,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAxB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MACpB,YAAE,mBAAmB;AAAA,YACpB,WAAWI;AAAA,YACX,aAAaK;AAAA,YACb,eAAe,EAAE,aAAa,GAAA;AAAA,UAAM,CACrC,GACH;AAAA,UACA,gBAAAjB,EAACQ,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAAU,EAAE,oBAAoB,EAAA,CAAE;AAAA,QAAA,GACjE;AAAA,QACA,gBAAAG,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAxB,EAACQ,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAU,EAAE,eAAe,GAAE;AAAA,UAChD,gBAAAlB;AAAA,YAACQ,EAAW;AAAA,YAAX;AAAA,cACC,OAAO,CAACU,EAAE,oBAAoB,GAAGA,EAAE,eAAe,GAAGA,EAAE,gBAAgB,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAC1E,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PaymentMethodBankAccount } from '@gusto/embedded-api
|
|
1
|
+
import { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount';
|
|
2
2
|
import { ProfileDefaultValues } from '../Profile/onboarding/Profile';
|
|
3
3
|
import { CompensationDefaultValues } from '../Compensation';
|
|
4
4
|
import { FlowContextInterface } from '../../Flow/useFlow';
|
package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingExecutionFlowComponents.js","sources":["../../../../src/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.tsx"],"sourcesContent":["import type { PaymentMethodBankAccount } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"OnboardingExecutionFlowComponents.js","sources":["../../../../src/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.tsx"],"sourcesContent":["import type { PaymentMethodBankAccount } from '@gusto/embedded-api/models/components/paymentmethodbankaccount'\nimport { Deductions } from '../Deductions/onboarding/Deductions'\nimport { FederalTaxes } from '../FederalTaxes/onboarding/FederalTaxes'\nimport { StateTaxes } from '../StateTaxes/onboarding/StateTaxes'\nimport type { ProfileDefaultValues } from '../Profile/onboarding/Profile'\nimport type { CompensationDefaultValues } from '../Compensation'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { EmployeeOnboardingStatus } from '@/shared/constants'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\n/**\n * Default values for the onboarding flow's per-step form components.\n *\n * @remarks\n * At least one of the step-level keys must be provided. Per-step values are\n * forwarded to the matching step component (e.g. `profile` to {@link Profile},\n * `compensation` to {@link Compensation}). If employee data is available via\n * the API, the corresponding values are overwritten.\n *\n * @public\n */\nexport type OnboardingDefaultValues = RequireAtLeastOne<{\n /** Default values for the profile step. */\n profile?: ProfileDefaultValues\n /** Default values for the compensation step. */\n compensation?: CompensationDefaultValues\n}>\n\n/** @internal */\nexport interface OnboardingContextInterface extends FlowContextInterface {\n companyId: string\n employeeId?: string\n isAdmin?: boolean\n onboardingStatus?: (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus]\n startDate?: string\n paymentMethod?: PaymentMethodBankAccount\n defaultValues?: OnboardingDefaultValues\n isSelfOnboardingEnabled?: boolean\n withEmployeeI9?: boolean\n showContinueButton?: boolean\n}\n\n/** @internal */\nexport function FederalTaxesContextual() {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n return <FederalTaxes onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n\n/** @internal */\nexport function StateTaxesContextual() {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n return <StateTaxes onEvent={onEvent} employeeId={ensureRequired(employeeId)} isAdmin={isAdmin} />\n}\n\n/** @internal */\nexport function DeductionsContextual() {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n return <Deductions onEvent={onEvent} employeeId={ensureRequired(employeeId)} />\n}\n"],"names":["FederalTaxesContextual","employeeId","onEvent","useFlow","FederalTaxes","ensureRequired","StateTaxesContextual","isAdmin","StateTaxes","DeductionsContextual","Deductions"],"mappings":";;;;;;AA4CO,SAASA,IAAyB;AACvC,QAAM,EAAE,YAAAC,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQC,GAAA,EAAa,SAAAF,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AACjF;AAGO,SAASK,IAAuB;AACrC,QAAM,EAAE,YAAAL,GAAY,SAAAC,GAAS,SAAAK,EAAA,IAAYJ,EAAA;AACzC,2BAAQK,GAAA,EAAW,SAAAN,GAAkB,YAAYG,EAAeJ,CAAU,GAAG,SAAAM,GAAkB;AACjG;AAGO,SAASE,IAAuB;AACrC,QAAM,EAAE,YAAAR,GAAY,SAAAC,EAAA,IAAYC,EAAA;AAChC,2BAAQO,GAAA,EAAW,SAAAR,GAAkB,YAAYG,EAAeJ,CAAU,GAAG;AAC/E;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e, jsxs as a, Fragment as I } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as y } from "react-i18next";
|
|
3
|
-
import { useEmployeesGetSuspense as N } from "@gusto/embedded-api
|
|
4
|
-
import { useEmployeesGetOnboardingStatusSuspense as v } from "@gusto/embedded-api
|
|
3
|
+
import { useEmployeesGetSuspense as N } from "@gusto/embedded-api/react-query/employeesGet";
|
|
4
|
+
import { useEmployeesGetOnboardingStatusSuspense as v } from "@gusto/embedded-api/react-query/employeesGetOnboardingStatus";
|
|
5
5
|
import _ from "dompurify";
|
|
6
6
|
import { useMemo as E } from "react";
|
|
7
7
|
import { BaseComponent as L } from "../../Base/Base.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Employee/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/employeesGet'\nimport { useEmployeesGetOnboardingStatusSuspense } from '@gusto/embedded-api-v-2026-02-01/react-query/employeesGetOnboardingStatus'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { RequirementsList } from '@/components/Common/RequirementsList/RequirementsList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst KNOWN_STEP_IDS = [\n 'personal_details',\n 'compensation_details',\n 'add_work_address',\n 'add_home_address',\n 'federal_tax_setup',\n 'state_tax_setup',\n 'direct_deposit_setup',\n 'employee_form_signing',\n 'file_new_hire_report',\n 'admin_review',\n] as const\n\ntype KnownStepId = (typeof KNOWN_STEP_IDS)[number]\n\nconst isKnownStepId = (id: string | undefined): id is KnownStepId =>\n id !== undefined && (KNOWN_STEP_IDS as readonly string[]).includes(id)\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Employee.OnboardingSummary'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, renders the admin-facing view of the onboarding summary. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Displays a summary of an employee's onboarding status, listing completed and\n * outstanding steps. Rendered as a standalone step inside `OnboardingFlow`.\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n useI18n('Employee.OnboardingSummary')\n useComponentDictionary('Employee.OnboardingSummary', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, isAdmin = false }: OnboardingSummaryProps) => {\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.OnboardingSummary')\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const { firstName, lastName } = employee!\n\n const { data } = useEmployeesGetOnboardingStatusSuspense({ employeeId })\n const { onboardingStatus, onboardingSteps } = data.employeeOnboardingStatus!\n\n const hasMissingRequirements =\n onboardingSteps?.length &&\n onboardingSteps.findIndex(step => step.required && !step.completed) > -1\n\n const isOnboardingCompleted =\n onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (!hasMissingRequirements &&\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(firstName), [firstName])\n const sanitizedLastName = useMemo(() => DOMPurify.sanitize(lastName), [lastName])\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n {isAdmin ? (\n isOnboardingCompleted ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedAdminDescription')}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Box\n header={\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('missingRequirementsSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('missingRequirementsDescription')}\n </Components.Text>\n </Flex>\n }\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n }\n >\n {onboardingSteps && (\n <RequirementsList\n requirements={onboardingSteps\n .filter(\n (step): step is typeof step & { id: KnownStepId; completed: boolean } =>\n step.completed !== undefined && isKnownStepId(step.id),\n )\n .map(step => ({\n completed: step.completed,\n title: t(`steps.${step.id}`),\n description: t(`stepsDescriptions.${step.id}`),\n }))}\n />\n )}\n </Components.Box>\n )\n ) : (\n <>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedSelfSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedSelfDescription')}\n </Components.Text>\n </Flex>\n <ActionsLayout justifyContent={isOnboardingCompleted ? 'center' : 'start'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </>\n )}\n </Flex>\n\n {isAdmin && isOnboardingCompleted && (\n <ActionsLayout justifyContent={'center'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n )\n}\n\n/** @internal */\nexport const OnboardingSummaryContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Summary',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <OnboardingSummary employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin} />\n}\n"],"names":["KNOWN_STEP_IDS","isKnownStepId","id","OnboardingSummary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","employeeId","className","isAdmin","onEvent","useBase","useTranslation","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","lastName","data","useEmployeesGetOnboardingStatusSuspense","onboardingStatus","onboardingSteps","hasMissingRequirements","step","isOnboardingCompleted","EmployeeOnboardingStatus","sanitizedFirstName","useMemo","DOMPurify","sanitizedLastName","jsxs","Flex","ActionsLayout","componentEvents","RequirementsList","OnboardingSummaryContextual","useFlow","t"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Employee/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeesGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/employeesGetOnboardingStatus'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { RequirementsList } from '@/components/Common/RequirementsList/RequirementsList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, EmployeeOnboardingStatus } from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst KNOWN_STEP_IDS = [\n 'personal_details',\n 'compensation_details',\n 'add_work_address',\n 'add_home_address',\n 'federal_tax_setup',\n 'state_tax_setup',\n 'direct_deposit_setup',\n 'employee_form_signing',\n 'file_new_hire_report',\n 'admin_review',\n] as const\n\ntype KnownStepId = (typeof KNOWN_STEP_IDS)[number]\n\nconst isKnownStepId = (id: string | undefined): id is KnownStepId =>\n id !== undefined && (KNOWN_STEP_IDS as readonly string[]).includes(id)\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Employee.OnboardingSummary'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, renders the admin-facing view of the onboarding summary. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Displays a summary of an employee's onboarding status, listing completed and\n * outstanding steps. Rendered as a standalone step inside `OnboardingFlow`.\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n useI18n('Employee.OnboardingSummary')\n useComponentDictionary('Employee.OnboardingSummary', props.dictionary)\n\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, isAdmin = false }: OnboardingSummaryProps) => {\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.OnboardingSummary')\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const { firstName, lastName } = employee!\n\n const { data } = useEmployeesGetOnboardingStatusSuspense({ employeeId })\n const { onboardingStatus, onboardingSteps } = data.employeeOnboardingStatus!\n\n const hasMissingRequirements =\n onboardingSteps?.length &&\n onboardingSteps.findIndex(step => step.required && !step.completed) > -1\n\n const isOnboardingCompleted =\n onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (!hasMissingRequirements &&\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(firstName), [firstName])\n const sanitizedLastName = useMemo(() => DOMPurify.sanitize(lastName), [lastName])\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n {isAdmin ? (\n isOnboardingCompleted ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedAdminDescription')}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Box\n header={\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('missingRequirementsSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('missingRequirementsDescription')}\n </Components.Text>\n </Flex>\n }\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n }\n >\n {onboardingSteps && (\n <RequirementsList\n requirements={onboardingSteps\n .filter(\n (step): step is typeof step & { id: KnownStepId; completed: boolean } =>\n step.completed !== undefined && isKnownStepId(step.id),\n )\n .map(step => ({\n completed: step.completed,\n title: t(`steps.${step.id}`),\n description: t(`stepsDescriptions.${step.id}`),\n }))}\n />\n )}\n </Components.Box>\n )\n ) : (\n <>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedSelfSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedSelfDescription')}\n </Components.Text>\n </Flex>\n <ActionsLayout justifyContent={isOnboardingCompleted ? 'center' : 'start'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </>\n )}\n </Flex>\n\n {isAdmin && isOnboardingCompleted && (\n <ActionsLayout justifyContent={'center'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n )\n}\n\n/** @internal */\nexport const OnboardingSummaryContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Summary',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <OnboardingSummary employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin} />\n}\n"],"names":["KNOWN_STEP_IDS","isKnownStepId","id","OnboardingSummary","props","useI18n","useComponentDictionary","jsx","BaseComponent","Root","employeeId","className","isAdmin","onEvent","useBase","useTranslation","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","lastName","data","useEmployeesGetOnboardingStatusSuspense","onboardingStatus","onboardingSteps","hasMissingRequirements","step","isOnboardingCompleted","EmployeeOnboardingStatus","sanitizedFirstName","useMemo","DOMPurify","sanitizedLastName","jsxs","Flex","ActionsLayout","componentEvents","RequirementsList","OnboardingSummaryContextual","useFlow","t"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmployeeBankAccount } from '@gusto/embedded-api
|
|
1
|
+
import { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount';
|
|
2
2
|
import { UseBankFormProps } from '../useBankForm';
|
|
3
3
|
import { ResourceDictionary } from '../../../../../types/Helpers';
|
|
4
4
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api
|
|
1
|
+
{"version":3,"file":"BankFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport { useBankForm, type AccountType, type UseBankFormProps } from '../useBankForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type BankFormBodyDictionary = ResourceDictionary<'Employee.BankFormBody'>\n\n/** @internal */\nexport interface BankFormBodyProps extends Omit<UseBankFormProps, 'employeeId'> {\n employeeId: string\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: BankFormBodyDictionary\n /** Called with the created bank account after a successful submit. */\n onSaved: (bankAccount: EmployeeBankAccount) => void\n onCancel: () => void\n}\n\n/**\n * Shared bank-account form body. Owns the `useBankForm` composition, the field\n * JSX, and the submit/cancel actions. Reads its copy from the internal\n * `Employee.BankFormBody` namespace; consuming surfaces inject their own copy\n * via the `dictionary` prop and map the `onSaved`/`onCancel` callbacks onto\n * their surface-specific events.\n *\n * @internal\n */\nexport function BankFormBody({\n employeeId,\n dictionary,\n onSaved,\n onCancel,\n ...hookProps\n}: BankFormBodyProps) {\n useI18n('Employee.BankFormBody')\n useComponentDictionary('Employee.BankFormBody', dictionary)\n const bankForm = useBankForm({ employeeId, ...hookProps })\n const { t } = useTranslation('Employee.BankFormBody')\n const Components = useComponentContext()\n\n if (bankForm.isLoading) {\n return <BaseLayout isLoading error={bankForm.errorHandling.errors} />\n }\n\n const { Fields } = bankForm.form\n\n const handleSubmit = async () => {\n const result = await bankForm.actions.onSubmit()\n if (result) {\n onSaved(result.data)\n }\n }\n\n return (\n <BaseLayout error={bankForm.errorHandling.errors}>\n <SDKFormProvider formHookResult={bankForm}>\n <Form onSubmit={handleSubmit}>\n <Fields.Name\n label={t('nameLabel')}\n validationMessages={{ REQUIRED: t('validations.accountName') }}\n />\n <Fields.RoutingNumber\n label={t('routingNumberLabel')}\n description={t('routingNumberDescription')}\n validationMessages={{\n REQUIRED: t('validations.routingNumber'),\n INVALID_ROUTING_NUMBER: t('validations.routingNumber'),\n }}\n />\n <Fields.AccountNumber\n label={t('accountNumberLabel')}\n validationMessages={{\n REQUIRED: t('validations.accountNumber'),\n INVALID_ACCOUNT_NUMBER: t('validations.accountNumberFormat'),\n }}\n />\n <Fields.AccountType\n label={t('accountTypeLabel')}\n getOptionLabel={(type: AccountType) =>\n type === 'Checking' ? t('accountTypeChecking') : t('accountTypeSavings')\n }\n />\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={bankForm.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["BankFormBody","employeeId","dictionary","onSaved","onCancel","hookProps","useI18n","useComponentDictionary","bankForm","useBankForm","t","useTranslation","Components","useComponentContext","BaseLayout","Fields","handleSubmit","result","jsx","SDKFormProvider","jsxs","Form","type","ActionsLayout"],"mappings":";;;;;;;;;;AAqCO,SAASA,EAAa;AAAA,EAC3B,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,EAAAC,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBL,CAAU;AAC1D,QAAMM,IAAWC,EAAY,EAAE,YAAAR,GAAY,GAAGI,GAAW,GACnD,EAAE,GAAAK,EAAA,IAAMC,EAAe,uBAAuB,GAC9CC,IAAaC,EAAA;AAEnB,MAAIL,EAAS;AACX,6BAAQM,GAAA,EAAW,WAAS,IAAC,OAAON,EAAS,cAAc,QAAQ;AAGrE,QAAM,EAAE,QAAAO,MAAWP,EAAS,MAEtBQ,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMT,EAAS,QAAQ,SAAA;AACtC,IAAIS,KACFd,EAAQc,EAAO,IAAI;AAAA,EAEvB;AAEA,SACE,gBAAAC,EAACJ,GAAA,EAAW,OAAON,EAAS,cAAc,QACxC,UAAA,gBAAAU,EAACC,GAAA,EAAgB,gBAAgBX,GAC/B,UAAA,gBAAAY,EAACC,GAAA,EAAK,UAAUL,GACd,UAAA;AAAA,IAAA,gBAAAE;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,WAAW;AAAA,QACpB,oBAAoB,EAAE,UAAUA,EAAE,yBAAyB,EAAA;AAAA,MAAE;AAAA,IAAA;AAAA,IAE/D,gBAAAQ;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,oBAAoB;AAAA,QAC7B,aAAaA,EAAE,0BAA0B;AAAA,QACzC,oBAAoB;AAAA,UAClB,UAAUA,EAAE,2BAA2B;AAAA,UACvC,wBAAwBA,EAAE,2BAA2B;AAAA,QAAA;AAAA,MACvD;AAAA,IAAA;AAAA,IAEF,gBAAAQ;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,oBAAoB;AAAA,QAC7B,oBAAoB;AAAA,UAClB,UAAUA,EAAE,2BAA2B;AAAA,UACvC,wBAAwBA,EAAE,iCAAiC;AAAA,QAAA;AAAA,MAC7D;AAAA,IAAA;AAAA,IAEF,gBAAAQ;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,kBAAkB;AAAA,QAC3B,gBAAgB,CAACY,MACOZ,EAAtBY,MAAS,aAAe,wBAA2B,oBAAN;AAAA,MAA0B;AAAA,IAAA;AAAA,sBAG1EC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAL,EAACN,EAAW,QAAX,EAAkB,SAAQ,aAAY,MAAK,UAAS,SAASR,GAC3D,UAAAM,EAAE,WAAW,EAAA,CAChB;AAAA,MACA,gBAAAQ,EAACN,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWJ,EAAS,OAAO,WACzD,UAAAE,EAAE,SAAS,EAAA,CACd;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,GACF,GACF;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EmployeePaymentMethod } from '@gusto/embedded-api
|
|
1
|
+
import { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod';
|
|
2
2
|
import { UseSplitPaymentsFormProps } from '../useSplitPaymentsForm';
|
|
3
3
|
import { ResourceDictionary } from '../../../../../types/Helpers';
|
|
4
4
|
/** @internal */
|