@gusto/embedded-react-sdk 0.46.0 → 0.46.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +117 -0
- package/dist/components/Common/DataView/DataCards/DataCards.d.ts +2 -1
- package/dist/components/Common/DataView/DataCards/DataCards.js +14 -13
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.d.ts +2 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +85 -80
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js +8 -0
- package/dist/components/Common/DataView/DataTable/DataTable.module.scss.js.map +1 -0
- package/dist/components/Common/DataView/DataView.d.ts +1 -0
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/useDataView.d.ts +10 -1
- package/dist/components/Common/DataView/useDataView.js +20 -17
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/DocumentViewer/DocumentViewer.js +10 -10
- package/dist/components/Common/DocumentViewer/DocumentViewer.js.map +1 -1
- package/dist/components/Common/DocumentViewer/DocumentViewer.module.scss.js +9 -9
- package/dist/components/Common/PaginationControl/PaginationControl.js +11 -10
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
- package/dist/components/Common/UI/DescriptionList/DescriptionList.js +11 -10
- package/dist/components/Common/UI/DescriptionList/DescriptionList.js.map +1 -1
- package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +4 -4
- package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -1
- package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInput.js +51 -48
- package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Common/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/components/Common/VisuallyHidden/VisuallyHidden.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +5 -6
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +33 -34
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.d.ts +9 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js +76 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.js.map +1 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/management/AddAnotherJob/AddAnotherJob.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js +60 -202
- package/dist/components/Employee/Compensation/management/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.d.ts +25 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js +79 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.js.map +1 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/management/EditPendingCompensation/EditPendingCompensation.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.d.ts +18 -0
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +171 -0
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -0
- package/dist/components/Employee/Compensation/management/index.d.ts +3 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +6 -1
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +67 -209
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +36 -36
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.d.ts +18 -0
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +169 -0
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +16 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +36 -30
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.d.ts +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +213 -191
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +6 -5
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +162 -131
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/BasicDetailsView.js +74 -88
- package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +86 -72
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +3 -3
- package/dist/components/Employee/Dashboard/DashboardComponents.js +138 -101
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/DocumentsView.js +17 -10
- package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.js +359 -313
- package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js +5 -3
- package/dist/components/Employee/Dashboard/JobAndPayView.module.scss.js.map +1 -1
- package/dist/components/Employee/Dashboard/TaxesView.js +114 -101
- package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +147 -148
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.d.ts +6 -0
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +37 -36
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +2 -2
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +34 -35
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js +57 -57
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +14 -5
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +55 -36
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +18 -18
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +3 -3
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +37 -40
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +1 -2
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +64 -71
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +2 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +25 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +13 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js +37 -0
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -0
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +6 -0
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +69 -0
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -0
- package/dist/components/Employee/EmployeeListFlow/index.d.ts +3 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +15 -12
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.d.ts +2 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +170 -157
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +56 -55
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +20 -20
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +0 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js +11 -12
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.test.d.ts +1 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +6 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js +95 -94
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +6 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +87 -86
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +18 -18
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/Taxes/useTaxes.js +3 -4
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +14 -11
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.d.ts +2 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +96 -89
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +61 -60
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Employee/exports/employeeManagement.d.ts +2 -0
- package/dist/components/Employee/exports/employeeManagement.js +18 -16
- package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
- package/dist/components/Employee/index.d.ts +2 -0
- package/dist/components/Employee/index.js +32 -30
- package/dist/components/Employee/index.js.map +1 -1
- package/dist/components/Flow/FlowHeader.js +34 -31
- package/dist/components/Flow/FlowHeader.js.map +1 -1
- package/dist/components/Flow/useFlow.d.ts +12 -0
- package/dist/components/Flow/useFlow.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +92 -69
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +23 -23
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +73 -56
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +58 -58
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +91 -87
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +91 -125
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +60 -91
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js +4 -4
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +0 -16
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +139 -225
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +7 -3
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +78 -54
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.test.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +12 -11
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +177 -147
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +34 -34
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +38 -36
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +2 -0
- package/dist/helpers/breadcrumbHelpers.d.ts +1 -1
- package/dist/helpers/breadcrumbHelpers.js.map +1 -1
- package/dist/helpers/federalEin.d.ts +1 -0
- package/dist/helpers/federalEin.js.map +1 -1
- package/dist/helpers/mask.d.ts +8 -4
- package/dist/helpers/mask.js.map +1 -1
- package/dist/helpers/rem.d.ts +2 -1
- package/dist/helpers/rem.js.map +1 -1
- package/dist/hooks/useAsyncError.d.ts +1 -0
- package/dist/hooks/useAsyncError.js.map +1 -1
- package/dist/hooks/useForkRef/useForkRef.d.ts +1 -0
- package/dist/hooks/useForkRef/useForkRef.js.map +1 -1
- package/dist/i18n/I18n.d.ts +9 -1
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.EmployeeTable.json.js +14 -14
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +16 -22
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js +17 -15
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicies.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.TimeOffPolicyDetails.json.js +9 -9
- package/dist/i18n/en/Employee.Compensation.json.js +66 -58
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Dashboard.json.js +28 -24
- package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
- package/dist/i18n/en/Employee.HomeAddress.Management.json.js +12 -10
- package/dist/i18n/en/Employee.HomeAddress.Management.json.js.map +1 -1
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +32 -30
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
- package/dist/i18n/en/Employee.PaymentMethod.json.js +25 -25
- package/dist/i18n/en/Employee.StateTaxes.json.js +12 -10
- package/dist/i18n/en/Employee.StateTaxes.json.js.map +1 -1
- package/dist/i18n/en/Employee.WorkAddress.Management.json.js +16 -14
- package/dist/i18n/en/Employee.WorkAddress.Management.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +14 -0
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js +33 -32
- package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
- package/dist/partner-hook-utils/types.d.ts +4 -0
- package/dist/shared/constants.d.ts +2 -0
- package/dist/shared/constants.js +13 -12
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/hooks.d.ts +1 -1
- package/dist/types/i18next.d.ts +30 -29
- package/dist/types/observability.d.ts +1 -1
- package/docs/reference/endpoint-inventory.json +24 -8
- package/package.json +30 -27
- package/dist/components/Employee/Dashboard/CompensationCard.d.ts +0 -13
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useFormFieldsMetadataContext as r } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
|
|
3
|
+
import { usePlaceholderSSN as m, normalizeSSN as l } from "../../../../../helpers/ssn.js";
|
|
4
|
+
import { SwitchHookField as d } from "../../../../../partner-hook-utils/form/fields/SwitchHookField.js";
|
|
2
5
|
import { TextInputHookField as a } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
|
-
import { DatePickerHookField as
|
|
4
|
-
import { SwitchHookField as m } from "../../../../../partner-hook-utils/form/fields/SwitchHookField.js";
|
|
5
|
-
import { useFormFieldsMetadataContext as l } from "../../../../../partner-hook-utils/form/FormFieldsMetadataContext.js";
|
|
6
|
-
import { usePlaceholderSSN as d, normalizeSSN as f } from "../../../../../helpers/ssn.js";
|
|
6
|
+
import { DatePickerHookField as f } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
7
7
|
function h(e) {
|
|
8
8
|
return /* @__PURE__ */ t(a, { ...e, name: "firstName" });
|
|
9
9
|
}
|
|
@@ -17,22 +17,22 @@ function x(e) {
|
|
|
17
17
|
return /* @__PURE__ */ t(a, { ...e, name: "email" });
|
|
18
18
|
}
|
|
19
19
|
function H(e) {
|
|
20
|
-
return /* @__PURE__ */ t(
|
|
20
|
+
return /* @__PURE__ */ t(f, { ...e, name: "dateOfBirth" });
|
|
21
21
|
}
|
|
22
22
|
function O(e) {
|
|
23
|
-
const n =
|
|
23
|
+
const n = r(), i = e.formHookResult?.form.fieldsMetadata ?? n?.metadata ?? {}, o = m(i.ssn?.hasRedactedValue);
|
|
24
24
|
return /* @__PURE__ */ t(
|
|
25
25
|
a,
|
|
26
26
|
{
|
|
27
27
|
...e,
|
|
28
28
|
name: "ssn",
|
|
29
|
-
transform:
|
|
29
|
+
transform: l,
|
|
30
30
|
placeholder: o
|
|
31
31
|
}
|
|
32
32
|
);
|
|
33
33
|
}
|
|
34
34
|
function I(e) {
|
|
35
|
-
return /* @__PURE__ */ t(
|
|
35
|
+
return /* @__PURE__ */ t(d, { ...e, name: "selfOnboarding" });
|
|
36
36
|
}
|
|
37
37
|
export {
|
|
38
38
|
H as DateOfBirthField,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { SelectHookField as r } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
2
|
+
import { DatePickerHookField as r } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
4
3
|
import { CheckboxHookField as n } from "../../../../../partner-hook-utils/form/fields/CheckboxHookField.js";
|
|
5
|
-
import {
|
|
4
|
+
import { TextInputHookField as i } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
5
|
+
import { SelectHookField as o } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
6
6
|
function d(e) {
|
|
7
7
|
return /* @__PURE__ */ t(i, { ...e, name: "street1" });
|
|
8
8
|
}
|
|
@@ -13,7 +13,7 @@ function F(e) {
|
|
|
13
13
|
return /* @__PURE__ */ t(i, { ...e, name: "city" });
|
|
14
14
|
}
|
|
15
15
|
function p(e) {
|
|
16
|
-
return /* @__PURE__ */ t(
|
|
16
|
+
return /* @__PURE__ */ t(o, { ...e, name: "state" });
|
|
17
17
|
}
|
|
18
18
|
function k(e) {
|
|
19
19
|
return /* @__PURE__ */ t(i, { ...e, name: "zip" });
|
|
@@ -22,7 +22,7 @@ function s(e) {
|
|
|
22
22
|
return /* @__PURE__ */ t(n, { ...e, name: "courtesyWithholding" });
|
|
23
23
|
}
|
|
24
24
|
function h(e) {
|
|
25
|
-
return /* @__PURE__ */ t(
|
|
25
|
+
return /* @__PURE__ */ t(r, { ...e, name: "effectiveDate" });
|
|
26
26
|
}
|
|
27
27
|
export {
|
|
28
28
|
F as CityField,
|
|
@@ -21,7 +21,6 @@ export type HomeAddressFormData = {
|
|
|
21
21
|
export type HomeAddressFormOutputs = HomeAddressFormData;
|
|
22
22
|
declare const requiredFieldsConfig: {
|
|
23
23
|
street2: "never";
|
|
24
|
-
effectiveDate: "never";
|
|
25
24
|
};
|
|
26
25
|
export type HomeAddressOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
|
|
27
26
|
interface HomeAddressSchemaOptions {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z as e } from "zod";
|
|
2
2
|
import { buildFormSchema as d } from "../../../../../partner-hook-utils/form/buildFormSchema.js";
|
|
3
|
-
const
|
|
3
|
+
const r = {
|
|
4
4
|
REQUIRED: "REQUIRED",
|
|
5
5
|
INVALID_ZIP: "INVALID_ZIP"
|
|
6
6
|
}, n = /(^\d{5}$)|(^\d{5}-\d{4}$)/, c = {
|
|
@@ -8,25 +8,24 @@ const t = {
|
|
|
8
8
|
street2: e.string(),
|
|
9
9
|
city: e.string(),
|
|
10
10
|
state: e.string(),
|
|
11
|
-
zip: e.string().regex(n, { message:
|
|
11
|
+
zip: e.string().regex(n, { message: r.INVALID_ZIP }),
|
|
12
12
|
courtesyWithholding: e.boolean(),
|
|
13
|
-
effectiveDate: e.iso.date({ error: () =>
|
|
13
|
+
effectiveDate: e.iso.date({ error: () => r.REQUIRED })
|
|
14
14
|
}, a = {
|
|
15
|
-
street2: "never"
|
|
16
|
-
effectiveDate: "never"
|
|
15
|
+
street2: "never"
|
|
17
16
|
};
|
|
18
|
-
function
|
|
19
|
-
const { mode:
|
|
17
|
+
function f(t = {}) {
|
|
18
|
+
const { mode: o = "create", optionalFieldsToRequire: i, withEffectiveDateField: s = !0 } = t;
|
|
20
19
|
return d(c, {
|
|
21
20
|
requiredFieldsConfig: a,
|
|
22
|
-
requiredErrorCode:
|
|
23
|
-
mode:
|
|
24
|
-
optionalFieldsToRequire:
|
|
21
|
+
requiredErrorCode: r.REQUIRED,
|
|
22
|
+
mode: o,
|
|
23
|
+
optionalFieldsToRequire: i,
|
|
25
24
|
excludeFields: s ? [] : ["effectiveDate"]
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
export {
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
r as HomeAddressErrorCodes,
|
|
29
|
+
f as createHomeAddressSchema
|
|
31
30
|
};
|
|
32
31
|
//# sourceMappingURL=homeAddressSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"homeAddressSchema.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n type OptionalFieldsToRequire,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\nexport const HomeAddressErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_ZIP: 'INVALID_ZIP',\n} as const\n\nexport type HomeAddressErrorCode =\n (typeof HomeAddressErrorCodes)[keyof typeof HomeAddressErrorCodes]\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst ZIP_REGEX = /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/\n\nconst fieldValidators = {\n street1: z.string(),\n street2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string().regex(ZIP_REGEX, { message: HomeAddressErrorCodes.INVALID_ZIP }),\n courtesyWithholding: z.boolean(),\n effectiveDate: z.iso.date({ error: () => HomeAddressErrorCodes.REQUIRED }),\n}\n\nexport type HomeAddressField = keyof typeof fieldValidators\n\nexport type HomeAddressFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\nexport type HomeAddressFormOutputs = HomeAddressFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n\nconst requiredFieldsConfig = {\n street2: 'never',\n
|
|
1
|
+
{"version":3,"file":"homeAddressSchema.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type RequiredFieldConfig,\n type OptionalFieldsToRequire,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n// ── Error codes ────────────────────────────────────────────────────────\n\nexport const HomeAddressErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_ZIP: 'INVALID_ZIP',\n} as const\n\nexport type HomeAddressErrorCode =\n (typeof HomeAddressErrorCodes)[keyof typeof HomeAddressErrorCodes]\n\n// ── Field validators ───────────────────────────────────────────────────\n\nconst ZIP_REGEX = /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/\n\nconst fieldValidators = {\n street1: z.string(),\n street2: z.string(),\n city: z.string(),\n state: z.string(),\n zip: z.string().regex(ZIP_REGEX, { message: HomeAddressErrorCodes.INVALID_ZIP }),\n courtesyWithholding: z.boolean(),\n effectiveDate: z.iso.date({ error: () => HomeAddressErrorCodes.REQUIRED }),\n}\n\nexport type HomeAddressField = keyof typeof fieldValidators\n\nexport type HomeAddressFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\nexport type HomeAddressFormOutputs = HomeAddressFormData\n\n// ── Required fields config ─────────────────────────────────────────────\n\nconst requiredFieldsConfig = {\n street2: 'never',\n} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n// ── Schema factory ─────────────────────────────────────────────────────\n\nexport type HomeAddressOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\ninterface HomeAddressSchemaOptions {\n mode?: 'create' | 'update'\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n withEffectiveDateField?: boolean\n}\n\nexport function createHomeAddressSchema(options: HomeAddressSchemaOptions = {}) {\n const { mode = 'create', optionalFieldsToRequire, withEffectiveDateField = true } = options\n\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: HomeAddressErrorCodes.REQUIRED,\n mode,\n optionalFieldsToRequire,\n excludeFields: withEffectiveDateField ? [] : ['effectiveDate'],\n })\n}\n"],"names":["HomeAddressErrorCodes","ZIP_REGEX","fieldValidators","z","requiredFieldsConfig","createHomeAddressSchema","options","mode","optionalFieldsToRequire","withEffectiveDateField","buildFormSchema"],"mappings":";;AASO,MAAMA,IAAwB;AAAA,EACnC,UAAU;AAAA,EACV,aAAa;AACf,GAOMC,IAAY,6BAEZC,IAAkB;AAAA,EACtB,SAASC,EAAE,OAAA;AAAA,EACX,SAASA,EAAE,OAAA;AAAA,EACX,MAAMA,EAAE,OAAA;AAAA,EACR,OAAOA,EAAE,OAAA;AAAA,EACT,KAAKA,EAAE,OAAA,EAAS,MAAMF,GAAW,EAAE,SAASD,EAAsB,aAAa;AAAA,EAC/E,qBAAqBG,EAAE,QAAA;AAAA,EACvB,eAAeA,EAAE,IAAI,KAAK,EAAE,OAAO,MAAMH,EAAsB,SAAA,CAAU;AAC3E,GAWMI,IAAuB;AAAA,EAC3B,SAAS;AACX;AAcO,SAASC,EAAwBC,IAAoC,IAAI;AAC9E,QAAM,EAAE,MAAAC,IAAO,UAAU,yBAAAC,GAAyB,wBAAAC,IAAyB,OAASH;AAEpF,SAAOI,EAAgBR,GAAiB;AAAA,IACtC,sBAAAE;AAAA,IACA,mBAAmBJ,EAAsB;AAAA,IACzC,MAAAO;AAAA,IACA,yBAAAC;AAAA,IACA,eAAeC,IAAyB,CAAA,IAAK,CAAC,eAAe;AAAA,EAAA,CAC9D;AACH;"}
|
package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -16,6 +16,11 @@ export interface UseHomeAddressFormProps {
|
|
|
16
16
|
* When omitted, the form is in create mode (POST).
|
|
17
17
|
*/
|
|
18
18
|
homeAddressUuid?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Pre-loaded address matching `homeAddressUuid`. When supplied, the form uses it directly
|
|
21
|
+
* instead of issuing a GET — useful when the parent already has the row from a list query.
|
|
22
|
+
*/
|
|
23
|
+
initialAddress?: EmployeeAddress;
|
|
19
24
|
withEffectiveDateField?: boolean;
|
|
20
25
|
optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire;
|
|
21
26
|
defaultValues?: Partial<HomeAddressFormData>;
|
|
@@ -44,7 +49,7 @@ export interface UseHomeAddressFormReady extends BaseFormHookReady<FieldsMetadat
|
|
|
44
49
|
onSubmit: (options?: HomeAddressSubmitOptions) => Promise<HookSubmitResult<EmployeeAddress> | undefined>;
|
|
45
50
|
};
|
|
46
51
|
}
|
|
47
|
-
export declare function useHomeAddressForm({ employeeId, homeAddressUuid, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady;
|
|
52
|
+
export declare function useHomeAddressForm({ employeeId, homeAddressUuid, initialAddress, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady;
|
|
48
53
|
export type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormReady;
|
|
49
54
|
export type HomeAddressFieldsMetadata = UseHomeAddressFormReady['form']['fieldsMetadata'];
|
|
50
55
|
export type HomeAddressFormFields = UseHomeAddressFormReady['form']['Fields'];
|
|
@@ -1,84 +1,85 @@
|
|
|
1
|
-
import { useMemo as
|
|
2
|
-
import { useForm as
|
|
3
|
-
import { zodResolver as
|
|
4
|
-
import { useEmployeeAddressesRetrieveHomeAddress as
|
|
5
|
-
import { useEmployeeAddressesCreateMutation as
|
|
6
|
-
import { useEmployeeAddressesUpdateMutation as
|
|
7
|
-
import { RFCDate as
|
|
8
|
-
import { createHomeAddressSchema as
|
|
9
|
-
import { EffectiveDateField as
|
|
10
|
-
import { useDeriveFieldsMetadata as
|
|
11
|
-
import { useHookFormInternals as
|
|
12
|
-
import { createGetFormSubmissionValues as
|
|
13
|
-
import { withOptions as
|
|
14
|
-
import { composeErrorHandler as
|
|
15
|
-
import { useBaseSubmit as
|
|
1
|
+
import { useMemo as W } from "react";
|
|
2
|
+
import { useForm as G } from "react-hook-form";
|
|
3
|
+
import { zodResolver as K } from "@hookform/resolvers/zod";
|
|
4
|
+
import { useEmployeeAddressesRetrieveHomeAddress as Q } from "@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress";
|
|
5
|
+
import { useEmployeeAddressesCreateMutation as T } from "@gusto/embedded-api/react-query/employeeAddressesCreate";
|
|
6
|
+
import { useEmployeeAddressesUpdateMutation as _ } from "@gusto/embedded-api/react-query/employeeAddressesUpdate";
|
|
7
|
+
import { RFCDate as j } from "@gusto/embedded-api/types/rfcdate";
|
|
8
|
+
import { createHomeAddressSchema as J } from "./homeAddressSchema.js";
|
|
9
|
+
import { EffectiveDateField as N, CourtesyWithholdingField as X, ZipField as Y, StateField as $, CityField as U, Street2Field as ee, Street1Field as te } from "./fields.js";
|
|
10
|
+
import { useDeriveFieldsMetadata as se } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
|
|
11
|
+
import { useHookFormInternals as re } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
|
|
12
|
+
import { createGetFormSubmissionValues as oe } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
|
|
13
|
+
import { withOptions as ie } from "../../../../../partner-hook-utils/form/withOptions.js";
|
|
14
|
+
import { composeErrorHandler as me } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
15
|
+
import { useBaseSubmit as ne } from "../../../../Base/useBaseSubmit.js";
|
|
16
16
|
import { SDKInternalError as u } from "../../../../../types/sdkError.js";
|
|
17
|
-
import { STATES_ABBR as
|
|
18
|
-
function
|
|
19
|
-
employeeId:
|
|
20
|
-
homeAddressUuid:
|
|
17
|
+
import { STATES_ABBR as w } from "../../../../../shared/constants.js";
|
|
18
|
+
function We({
|
|
19
|
+
employeeId: z,
|
|
20
|
+
homeAddressUuid: s,
|
|
21
|
+
initialAddress: f,
|
|
21
22
|
withEffectiveDateField: i = !0,
|
|
22
|
-
optionalFieldsToRequire:
|
|
23
|
-
defaultValues:
|
|
24
|
-
validationMode:
|
|
25
|
-
shouldFocusError:
|
|
23
|
+
optionalFieldsToRequire: l,
|
|
24
|
+
defaultValues: r,
|
|
25
|
+
validationMode: D = "onSubmit",
|
|
26
|
+
shouldFocusError: C = !0
|
|
26
27
|
}) {
|
|
27
|
-
const
|
|
28
|
-
{ homeAddressUuid:
|
|
29
|
-
{ enabled: !!
|
|
30
|
-
),
|
|
31
|
-
() =>
|
|
32
|
-
mode:
|
|
33
|
-
optionalFieldsToRequire:
|
|
28
|
+
const p = !!s && f?.uuid === s, v = Q(
|
|
29
|
+
{ homeAddressUuid: s ?? "" },
|
|
30
|
+
{ enabled: !!s && !p }
|
|
31
|
+
), m = !s, e = s ? p ? f : v.data?.employeeAddress : void 0, y = m ? "create" : "update", [h, I] = W(
|
|
32
|
+
() => J({
|
|
33
|
+
mode: y,
|
|
34
|
+
optionalFieldsToRequire: l,
|
|
34
35
|
withEffectiveDateField: i
|
|
35
36
|
}),
|
|
36
|
-
[
|
|
37
|
-
),
|
|
37
|
+
[y, l, i]
|
|
38
|
+
), g = W(
|
|
38
39
|
() => ({
|
|
39
|
-
street1: e?.street1 ??
|
|
40
|
-
street2: e?.street2 ??
|
|
41
|
-
city: e?.city ??
|
|
42
|
-
state: e?.state ??
|
|
43
|
-
zip: e?.zip ??
|
|
44
|
-
courtesyWithholding: e?.courtesyWithholding ??
|
|
45
|
-
effectiveDate: e?.effectiveDate?.toString() ??
|
|
40
|
+
street1: e?.street1 ?? r?.street1 ?? "",
|
|
41
|
+
street2: e?.street2 ?? r?.street2 ?? "",
|
|
42
|
+
city: e?.city ?? r?.city ?? "",
|
|
43
|
+
state: e?.state ?? r?.state ?? "",
|
|
44
|
+
zip: e?.zip ?? r?.zip ?? "",
|
|
45
|
+
courtesyWithholding: e?.courtesyWithholding ?? r?.courtesyWithholding ?? !1,
|
|
46
|
+
effectiveDate: e?.effectiveDate?.toString() ?? r?.effectiveDate ?? ""
|
|
46
47
|
}),
|
|
47
|
-
[e,
|
|
48
|
-
), a =
|
|
49
|
-
resolver:
|
|
50
|
-
mode:
|
|
51
|
-
shouldFocusError:
|
|
52
|
-
defaultValues:
|
|
53
|
-
values:
|
|
48
|
+
[e, r]
|
|
49
|
+
), a = G({
|
|
50
|
+
resolver: K(h),
|
|
51
|
+
mode: D,
|
|
52
|
+
shouldFocusError: C,
|
|
53
|
+
defaultValues: g,
|
|
54
|
+
values: g,
|
|
54
55
|
resetOptions: { keepDirtyValues: !0 }
|
|
55
|
-
}),
|
|
56
|
-
baseSubmitHandler:
|
|
57
|
-
error:
|
|
58
|
-
setError:
|
|
59
|
-
} =
|
|
60
|
-
value:
|
|
61
|
-
label:
|
|
62
|
-
})), o =
|
|
56
|
+
}), S = T(), A = _(), q = S.isPending || A.isPending, {
|
|
57
|
+
baseSubmitHandler: B,
|
|
58
|
+
error: P,
|
|
59
|
+
setError: V
|
|
60
|
+
} = ne("HomeAddressForm"), H = me(s ? [v] : [], { submitError: P, setSubmitError: V }), R = w.map((n) => ({
|
|
61
|
+
value: n,
|
|
62
|
+
label: n
|
|
63
|
+
})), o = se(I, a.control), k = {
|
|
63
64
|
street1: o.street1,
|
|
64
65
|
street2: o.street2,
|
|
65
66
|
city: o.city,
|
|
66
|
-
state:
|
|
67
|
+
state: ie(o.state, R, w),
|
|
67
68
|
zip: o.zip,
|
|
68
69
|
courtesyWithholding: o.courtesyWithholding,
|
|
69
70
|
effectiveDate: o.effectiveDate
|
|
70
|
-
},
|
|
71
|
-
let
|
|
72
|
-
return await new Promise((
|
|
71
|
+
}, O = async (n) => {
|
|
72
|
+
let F;
|
|
73
|
+
return await new Promise((b) => {
|
|
73
74
|
a.handleSubmit(
|
|
74
|
-
async (
|
|
75
|
-
await
|
|
76
|
-
const
|
|
75
|
+
async (Z) => {
|
|
76
|
+
await B(Z, async (t) => {
|
|
77
|
+
const x = n?.employeeId ?? z, M = i && t.effectiveDate ? t.effectiveDate : n?.effectiveDate ?? (!i && !m ? e?.effectiveDate?.toString() : void 0), E = M ? new j(new Date(M)) : void 0;
|
|
77
78
|
let c;
|
|
78
|
-
if (
|
|
79
|
-
const
|
|
79
|
+
if (m) {
|
|
80
|
+
const d = await S.mutateAsync({
|
|
80
81
|
request: {
|
|
81
|
-
employeeId:
|
|
82
|
+
employeeId: x,
|
|
82
83
|
requestBody: {
|
|
83
84
|
street1: t.street1,
|
|
84
85
|
street2: t.street2 || void 0,
|
|
@@ -86,19 +87,19 @@ function Ee({
|
|
|
86
87
|
state: t.state,
|
|
87
88
|
zip: t.zip,
|
|
88
89
|
courtesyWithholding: t.courtesyWithholding,
|
|
89
|
-
effectiveDate:
|
|
90
|
+
effectiveDate: E
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
});
|
|
93
|
-
if (!
|
|
94
|
+
if (!d.employeeAddress)
|
|
94
95
|
throw new u("Home address creation failed");
|
|
95
|
-
c =
|
|
96
|
+
c = d.employeeAddress;
|
|
96
97
|
} else {
|
|
97
|
-
if (!e || !
|
|
98
|
+
if (!e || !s)
|
|
98
99
|
throw new u(
|
|
99
100
|
"Cannot update home address: no matching address on file"
|
|
100
101
|
);
|
|
101
|
-
const
|
|
102
|
+
const d = await A.mutateAsync({
|
|
102
103
|
request: {
|
|
103
104
|
homeAddressUuid: e.uuid,
|
|
104
105
|
requestBody: {
|
|
@@ -109,54 +110,54 @@ function Ee({
|
|
|
109
110
|
state: t.state,
|
|
110
111
|
zip: t.zip,
|
|
111
112
|
courtesyWithholding: t.courtesyWithholding,
|
|
112
|
-
effectiveDate:
|
|
113
|
+
effectiveDate: E
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
});
|
|
116
|
-
if (!
|
|
117
|
+
if (!d.employeeAddress)
|
|
117
118
|
throw new u("Home address update failed");
|
|
118
|
-
c =
|
|
119
|
+
c = d.employeeAddress;
|
|
119
120
|
}
|
|
120
|
-
|
|
121
|
-
mode:
|
|
121
|
+
F = {
|
|
122
|
+
mode: m ? "create" : "update",
|
|
122
123
|
data: c
|
|
123
124
|
};
|
|
124
|
-
}),
|
|
125
|
+
}), b();
|
|
125
126
|
},
|
|
126
127
|
() => {
|
|
127
|
-
|
|
128
|
+
b();
|
|
128
129
|
}
|
|
129
130
|
)();
|
|
130
|
-
}),
|
|
131
|
-
},
|
|
132
|
-
return
|
|
131
|
+
}), F;
|
|
132
|
+
}, L = re(a);
|
|
133
|
+
return s && !e ? { isLoading: !0, errorHandling: H } : {
|
|
133
134
|
isLoading: !1,
|
|
134
135
|
data: {
|
|
135
136
|
homeAddress: e ?? null
|
|
136
137
|
},
|
|
137
138
|
status: {
|
|
138
|
-
isPending:
|
|
139
|
-
mode:
|
|
139
|
+
isPending: q,
|
|
140
|
+
mode: m ? "create" : "update"
|
|
140
141
|
},
|
|
141
|
-
actions: { onSubmit:
|
|
142
|
-
errorHandling:
|
|
142
|
+
actions: { onSubmit: O },
|
|
143
|
+
errorHandling: H,
|
|
143
144
|
form: {
|
|
144
145
|
Fields: {
|
|
145
|
-
Street1:
|
|
146
|
-
Street2:
|
|
147
|
-
City:
|
|
148
|
-
State:
|
|
149
|
-
Zip:
|
|
150
|
-
CourtesyWithholding:
|
|
151
|
-
EffectiveDate: i ?
|
|
146
|
+
Street1: te,
|
|
147
|
+
Street2: ee,
|
|
148
|
+
City: U,
|
|
149
|
+
State: $,
|
|
150
|
+
Zip: Y,
|
|
151
|
+
CourtesyWithholding: X,
|
|
152
|
+
EffectiveDate: i ? N : void 0
|
|
152
153
|
},
|
|
153
|
-
fieldsMetadata:
|
|
154
|
-
hookFormInternals:
|
|
155
|
-
getFormSubmissionValues:
|
|
154
|
+
fieldsMetadata: k,
|
|
155
|
+
hookFormInternals: L,
|
|
156
|
+
getFormSubmissionValues: oe(a, h)
|
|
156
157
|
}
|
|
157
158
|
};
|
|
158
159
|
}
|
|
159
160
|
export {
|
|
160
|
-
|
|
161
|
+
We as useHomeAddressForm
|
|
161
162
|
};
|
|
162
163
|
//# sourceMappingURL=useHomeAddressForm.js.map
|
package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHomeAddressForm.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesRetrieveHomeAddress } from '@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createHomeAddressSchema,\n type HomeAddressOptionalFieldsToRequire,\n type HomeAddressFormData,\n type HomeAddressFormOutputs,\n} from './homeAddressSchema'\nimport {\n Street1Field,\n Street2Field,\n CityField,\n StateField,\n ZipField,\n CourtesyWithholdingField,\n EffectiveDateField,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport type { HomeAddressOptionalFieldsToRequire } from './homeAddressSchema'\n\nexport interface HomeAddressSubmitOptions {\n employeeId?: string\n /** When omitted on update without an effective-date field, the row’s `effectiveDate` from the fetched address is used. */\n effectiveDate?: string\n}\n\nexport interface UseHomeAddressFormProps {\n employeeId: string\n /**\n * When set, loads that home address via GET `/v1/home_addresses/{uuid}` and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n homeAddressUuid?: string\n withEffectiveDateField?: boolean\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n defaultValues?: Partial<HomeAddressFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface HomeAddressFields {\n Street1: typeof Street1Field\n Street2: typeof Street2Field\n City: typeof CityField\n State: typeof StateField\n Zip: typeof ZipField\n CourtesyWithholding: typeof CourtesyWithholdingField\n EffectiveDate: typeof EffectiveDateField | undefined\n}\n\nexport interface UseHomeAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n HomeAddressFormData,\n HomeAddressFields\n> {\n data: {\n /** The address row loaded for update; `null` in create mode. */\n homeAddress: EmployeeAddress | null\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: (\n options?: HomeAddressSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeAddress> | undefined>\n }\n}\n\nexport function useHomeAddressForm({\n employeeId,\n homeAddressUuid,\n withEffectiveDateField = true,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady {\n const retrieveHomeAddressQuery = useEmployeeAddressesRetrieveHomeAddress(\n { homeAddressUuid: homeAddressUuid ?? '' },\n { enabled: !!homeAddressUuid },\n )\n\n const isCreateMode = !homeAddressUuid\n\n const fetchedHomeAddress = homeAddressUuid\n ? retrieveHomeAddressQuery.data?.employeeAddress\n : undefined\n\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createHomeAddressSchema({\n mode: schemaMode,\n optionalFieldsToRequire,\n withEffectiveDateField,\n }),\n [schemaMode, optionalFieldsToRequire, withEffectiveDateField],\n )\n\n const resolvedDefaults: HomeAddressFormData = useMemo(\n () => ({\n street1: fetchedHomeAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedHomeAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedHomeAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedHomeAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedHomeAddress?.zip ?? partnerDefaults?.zip ?? '',\n courtesyWithholding:\n fetchedHomeAddress?.courtesyWithholding ?? partnerDefaults?.courtesyWithholding ?? false,\n effectiveDate:\n fetchedHomeAddress?.effectiveDate?.toString() ?? partnerDefaults?.effectiveDate ?? '',\n }),\n [fetchedHomeAddress, partnerDefaults],\n )\n\n const formMethods = useForm<HomeAddressFormData, unknown, HomeAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createHomeAddressMutation = useEmployeeAddressesCreateMutation()\n const updateHomeAddressMutation = useEmployeeAddressesUpdateMutation()\n\n const isPending = createHomeAddressMutation.isPending || updateHomeAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('HomeAddressForm')\n\n const queriesForErrors = homeAddressUuid ? [retrieveHomeAddressQuery] : []\n const errorHandling = composeErrorHandler(queriesForErrors, { submitError, setSubmitError })\n\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n street1: baseMetadata.street1,\n street2: baseMetadata.street2,\n city: baseMetadata.city,\n state: withOptions(baseMetadata.state, stateOptions, STATES_ABBR),\n zip: baseMetadata.zip,\n courtesyWithholding: baseMetadata.courtesyWithholding,\n effectiveDate: baseMetadata.effectiveDate,\n }\n\n const onSubmit = async (\n options?: HomeAddressSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeAddress> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: HomeAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n\n const resolvedEffectiveDate =\n withEffectiveDateField && payload.effectiveDate\n ? payload.effectiveDate\n : (options?.effectiveDate ??\n (!withEffectiveDateField && !isCreateMode\n ? fetchedHomeAddress?.effectiveDate?.toString()\n : undefined))\n\n const effectiveDateParam = resolvedEffectiveDate\n ? new RFCDate(new Date(resolvedEffectiveDate))\n : undefined\n\n let updatedHomeAddress: EmployeeAddress\n\n if (isCreateMode) {\n const result = await createHomeAddressMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n requestBody: {\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address creation failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n } else {\n if (!fetchedHomeAddress || !homeAddressUuid) {\n throw new SDKInternalError(\n 'Cannot update home address: no matching address on file',\n )\n }\n\n const result = await updateHomeAddressMutation.mutateAsync({\n request: {\n homeAddressUuid: fetchedHomeAddress.uuid,\n requestBody: {\n version: fetchedHomeAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address update failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updatedHomeAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (homeAddressUuid && !fetchedHomeAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n homeAddress: fetchedHomeAddress ?? null,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Street1: Street1Field,\n Street2: Street2Field,\n City: CityField,\n State: StateField,\n Zip: ZipField,\n CourtesyWithholding: CourtesyWithholdingField,\n EffectiveDate: withEffectiveDateField ? EffectiveDateField : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormReady\nexport type HomeAddressFieldsMetadata = UseHomeAddressFormReady['form']['fieldsMetadata']\nexport type HomeAddressFormFields = UseHomeAddressFormReady['form']['Fields']\n"],"names":["useHomeAddressForm","employeeId","homeAddressUuid","withEffectiveDateField","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","retrieveHomeAddressQuery","useEmployeeAddressesRetrieveHomeAddress","isCreateMode","fetchedHomeAddress","schemaMode","schema","metadataConfig","useMemo","createHomeAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","createHomeAddressMutation","useEmployeeAddressesCreateMutation","updateHomeAddressMutation","useEmployeeAddressesUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","stateOptions","STATES_ABBR","abbr","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedEmployeeId","resolvedEffectiveDate","effectiveDateParam","RFCDate","updatedHomeAddress","result","SDKInternalError","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","CourtesyWithholdingField","EffectiveDateField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useHomeAddressForm.js","sources":["../../../../../../src/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesRetrieveHomeAddress } from '@gusto/embedded-api/react-query/employeeAddressesRetrieveHomeAddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport {\n createHomeAddressSchema,\n type HomeAddressOptionalFieldsToRequire,\n type HomeAddressFormData,\n type HomeAddressFormOutputs,\n} from './homeAddressSchema'\nimport {\n Street1Field,\n Street2Field,\n CityField,\n StateField,\n ZipField,\n CourtesyWithholdingField,\n EffectiveDateField,\n} from './fields'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { STATES_ABBR } from '@/shared/constants'\n\nexport type { HomeAddressOptionalFieldsToRequire } from './homeAddressSchema'\n\nexport interface HomeAddressSubmitOptions {\n employeeId?: string\n /** When omitted on update without an effective-date field, the row’s `effectiveDate` from the fetched address is used. */\n effectiveDate?: string\n}\n\nexport interface UseHomeAddressFormProps {\n employeeId: string\n /**\n * When set, loads that home address via GET `/v1/home_addresses/{uuid}` and updates it (PUT).\n * When omitted, the form is in create mode (POST).\n */\n homeAddressUuid?: string\n /**\n * Pre-loaded address matching `homeAddressUuid`. When supplied, the form uses it directly\n * instead of issuing a GET — useful when the parent already has the row from a list query.\n */\n initialAddress?: EmployeeAddress\n withEffectiveDateField?: boolean\n optionalFieldsToRequire?: HomeAddressOptionalFieldsToRequire\n defaultValues?: Partial<HomeAddressFormData>\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface HomeAddressFields {\n Street1: typeof Street1Field\n Street2: typeof Street2Field\n City: typeof CityField\n State: typeof StateField\n Zip: typeof ZipField\n CourtesyWithholding: typeof CourtesyWithholdingField\n EffectiveDate: typeof EffectiveDateField | undefined\n}\n\nexport interface UseHomeAddressFormReady extends BaseFormHookReady<\n FieldsMetadata,\n HomeAddressFormData,\n HomeAddressFields\n> {\n data: {\n /** The address row loaded for update; `null` in create mode. */\n homeAddress: EmployeeAddress | null\n }\n status: { isPending: boolean; mode: 'create' | 'update' }\n actions: {\n onSubmit: (\n options?: HomeAddressSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeAddress> | undefined>\n }\n}\n\nexport function useHomeAddressForm({\n employeeId,\n homeAddressUuid,\n initialAddress,\n withEffectiveDateField = true,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseHomeAddressFormProps): HookLoadingResult | UseHomeAddressFormReady {\n const hasInitialAddressMatch = !!homeAddressUuid && initialAddress?.uuid === homeAddressUuid\n\n const retrieveHomeAddressQuery = useEmployeeAddressesRetrieveHomeAddress(\n { homeAddressUuid: homeAddressUuid ?? '' },\n { enabled: !!homeAddressUuid && !hasInitialAddressMatch },\n )\n\n const isCreateMode = !homeAddressUuid\n\n const fetchedHomeAddress = homeAddressUuid\n ? hasInitialAddressMatch\n ? initialAddress\n : retrieveHomeAddressQuery.data?.employeeAddress\n : undefined\n\n const schemaMode = isCreateMode ? 'create' : 'update'\n\n const [schema, metadataConfig] = useMemo(\n () =>\n createHomeAddressSchema({\n mode: schemaMode,\n optionalFieldsToRequire,\n withEffectiveDateField,\n }),\n [schemaMode, optionalFieldsToRequire, withEffectiveDateField],\n )\n\n const resolvedDefaults: HomeAddressFormData = useMemo(\n () => ({\n street1: fetchedHomeAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedHomeAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedHomeAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedHomeAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedHomeAddress?.zip ?? partnerDefaults?.zip ?? '',\n courtesyWithholding:\n fetchedHomeAddress?.courtesyWithholding ?? partnerDefaults?.courtesyWithholding ?? false,\n effectiveDate:\n fetchedHomeAddress?.effectiveDate?.toString() ?? partnerDefaults?.effectiveDate ?? '',\n }),\n [fetchedHomeAddress, partnerDefaults],\n )\n\n const formMethods = useForm<HomeAddressFormData, unknown, HomeAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createHomeAddressMutation = useEmployeeAddressesCreateMutation()\n const updateHomeAddressMutation = useEmployeeAddressesUpdateMutation()\n\n const isPending = createHomeAddressMutation.isPending || updateHomeAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('HomeAddressForm')\n\n const queriesForErrors = homeAddressUuid ? [retrieveHomeAddressQuery] : []\n const errorHandling = composeErrorHandler(queriesForErrors, { submitError, setSubmitError })\n\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n street1: baseMetadata.street1,\n street2: baseMetadata.street2,\n city: baseMetadata.city,\n state: withOptions(baseMetadata.state, stateOptions, STATES_ABBR),\n zip: baseMetadata.zip,\n courtesyWithholding: baseMetadata.courtesyWithholding,\n effectiveDate: baseMetadata.effectiveDate,\n }\n\n const onSubmit = async (\n options?: HomeAddressSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeAddress> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: HomeAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n\n const resolvedEffectiveDate =\n withEffectiveDateField && payload.effectiveDate\n ? payload.effectiveDate\n : (options?.effectiveDate ??\n (!withEffectiveDateField && !isCreateMode\n ? fetchedHomeAddress?.effectiveDate?.toString()\n : undefined))\n\n const effectiveDateParam = resolvedEffectiveDate\n ? new RFCDate(new Date(resolvedEffectiveDate))\n : undefined\n\n let updatedHomeAddress: EmployeeAddress\n\n if (isCreateMode) {\n const result = await createHomeAddressMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n requestBody: {\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address creation failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n } else {\n if (!fetchedHomeAddress || !homeAddressUuid) {\n throw new SDKInternalError(\n 'Cannot update home address: no matching address on file',\n )\n }\n\n const result = await updateHomeAddressMutation.mutateAsync({\n request: {\n homeAddressUuid: fetchedHomeAddress.uuid,\n requestBody: {\n version: fetchedHomeAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n courtesyWithholding: payload.courtesyWithholding,\n effectiveDate: effectiveDateParam,\n },\n },\n })\n\n if (!result.employeeAddress) {\n throw new SDKInternalError('Home address update failed')\n }\n\n updatedHomeAddress = result.employeeAddress\n }\n\n submitResult = {\n mode: isCreateMode ? 'create' : 'update',\n data: updatedHomeAddress,\n }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (homeAddressUuid && !fetchedHomeAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n homeAddress: fetchedHomeAddress ?? null,\n },\n status: {\n isPending,\n mode: isCreateMode ? ('create' as const) : ('update' as const),\n },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Street1: Street1Field,\n Street2: Street2Field,\n City: CityField,\n State: StateField,\n Zip: ZipField,\n CourtesyWithholding: CourtesyWithholdingField,\n EffectiveDate: withEffectiveDateField ? EffectiveDateField : undefined,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseHomeAddressFormResult = HookLoadingResult | UseHomeAddressFormReady\nexport type HomeAddressFieldsMetadata = UseHomeAddressFormReady['form']['fieldsMetadata']\nexport type HomeAddressFormFields = UseHomeAddressFormReady['form']['Fields']\n"],"names":["useHomeAddressForm","employeeId","homeAddressUuid","initialAddress","withEffectiveDateField","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","hasInitialAddressMatch","retrieveHomeAddressQuery","useEmployeeAddressesRetrieveHomeAddress","isCreateMode","fetchedHomeAddress","schemaMode","schema","metadataConfig","useMemo","createHomeAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","createHomeAddressMutation","useEmployeeAddressesCreateMutation","updateHomeAddressMutation","useEmployeeAddressesUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","stateOptions","STATES_ABBR","abbr","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedEmployeeId","resolvedEffectiveDate","effectiveDateParam","RFCDate","updatedHomeAddress","result","SDKInternalError","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","CourtesyWithholdingField","EffectiveDateField","createGetFormSubmissionValues"],"mappings":";;;;;;;;;;;;;;;;;AA6FO,SAASA,GAAmB;AAAA,EACjC,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,wBAAAC,IAAyB;AAAA,EACzB,yBAAAC;AAAA,EACA,eAAeC;AAAA,EACf,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC,IAAmB;AACrB,GAAyE;AACvE,QAAMC,IAAyB,CAAC,CAACP,KAAmBC,GAAgB,SAASD,GAEvEQ,IAA2BC;AAAA,IAC/B,EAAE,iBAAiBT,KAAmB,GAAA;AAAA,IACtC,EAAE,SAAS,CAAC,CAACA,KAAmB,CAACO,EAAA;AAAA,EAAuB,GAGpDG,IAAe,CAACV,GAEhBW,IAAqBX,IACvBO,IACEN,IACAO,EAAyB,MAAM,kBACjC,QAEEI,IAAaF,IAAe,WAAW,UAEvC,CAACG,GAAQC,CAAc,IAAIC;AAAA,IAC/B,MACEC,EAAwB;AAAA,MACtB,MAAMJ;AAAA,MACN,yBAAAT;AAAA,MACA,wBAAAD;AAAA,IAAA,CACD;AAAA,IACH,CAACU,GAAYT,GAAyBD,CAAsB;AAAA,EAAA,GAGxDe,IAAwCF;AAAA,IAC5C,OAAO;AAAA,MACL,SAASJ,GAAoB,WAAWP,GAAiB,WAAW;AAAA,MACpE,SAASO,GAAoB,WAAWP,GAAiB,WAAW;AAAA,MACpE,MAAMO,GAAoB,QAAQP,GAAiB,QAAQ;AAAA,MAC3D,OAAOO,GAAoB,SAASP,GAAiB,SAAS;AAAA,MAC9D,KAAKO,GAAoB,OAAOP,GAAiB,OAAO;AAAA,MACxD,qBACEO,GAAoB,uBAAuBP,GAAiB,uBAAuB;AAAA,MACrF,eACEO,GAAoB,eAAe,SAAA,KAAcP,GAAiB,iBAAiB;AAAA,IAAA;AAAA,IAEvF,CAACO,GAAoBP,CAAe;AAAA,EAAA,GAGhCc,IAAcC,EAA8D;AAAA,IAChF,UAAUC,EAAYP,CAAM;AAAA,IAC5B,MAAMR;AAAA,IACN,kBAAAC;AAAA,IACA,eAAeW;AAAA,IACf,QAAQA;AAAA,IACR,cAAc,EAAE,iBAAiB,GAAA;AAAA,EAAK,CACvC,GAEKI,IAA4BC,EAAA,GAC5BC,IAA4BC,EAAA,GAE5BC,IAAYJ,EAA0B,aAAaE,EAA0B,WAE7E;AAAA,IACJ,mBAAAG;AAAA,IACA,OAAOC;AAAA,IACP,UAAUC;AAAA,EAAA,IACRC,GAAc,iBAAiB,GAG7BC,IAAgBC,GADG/B,IAAkB,CAACQ,CAAwB,IAAI,CAAA,GACZ,EAAE,aAAAmB,GAAa,gBAAAC,GAAgB,GAErFI,IAAeC,EAAY,IAAI,CAAAC,OAAS;AAAA,IAC5C,OAAOA;AAAA,IACP,OAAOA;AAAA,EAAA,EACP,GAEIC,IAAeC,GAAwBtB,GAAgBI,EAAY,OAAO,GAC1EmB,IAAiB;AAAA,IACrB,SAASF,EAAa;AAAA,IACtB,SAASA,EAAa;AAAA,IACtB,MAAMA,EAAa;AAAA,IACnB,OAAOG,GAAYH,EAAa,OAAOH,GAAcC,CAAW;AAAA,IAChE,KAAKE,EAAa;AAAA,IAClB,qBAAqBA,EAAa;AAAA,IAClC,eAAeA,EAAa;AAAA,EAAA,GAGxBI,IAAW,OACfC,MAC2D;AAC3D,QAAIC;AAEJ,iBAAM,IAAI,QAAc,CAAAC,MAAW;AACjC,MAAKxB,EAAY;AAAA,QACf,OAAOyB,MAAiC;AACtC,gBAAMjB,EAAkBiB,GAAM,OAAMC,MAAW;AAC7C,kBAAMC,IAAqBL,GAAS,cAAczC,GAE5C+C,IACJ5C,KAA0B0C,EAAQ,gBAC9BA,EAAQ,gBACPJ,GAAS,kBACT,CAACtC,KAA0B,CAACQ,IACzBC,GAAoB,eAAe,aACnC,SAEJoC,IAAqBD,IACvB,IAAIE,EAAQ,IAAI,KAAKF,CAAqB,CAAC,IAC3C;AAEJ,gBAAIG;AAEJ,gBAAIvC,GAAc;AAChB,oBAAMwC,IAAS,MAAM7B,EAA0B,YAAY;AAAA,gBACzD,SAAS;AAAA,kBACP,YAAYwB;AAAA,kBACZ,aAAa;AAAA,oBACX,SAASD,EAAQ;AAAA,oBACjB,SAASA,EAAQ,WAAW;AAAA,oBAC5B,MAAMA,EAAQ;AAAA,oBACd,OAAOA,EAAQ;AAAA,oBACf,KAAKA,EAAQ;AAAA,oBACb,qBAAqBA,EAAQ;AAAA,oBAC7B,eAAeG;AAAA,kBAAA;AAAA,gBACjB;AAAA,cACF,CACD;AAED,kBAAI,CAACG,EAAO;AACV,sBAAM,IAAIC,EAAiB,8BAA8B;AAG3D,cAAAF,IAAqBC,EAAO;AAAA,YAC9B,OAAO;AACL,kBAAI,CAACvC,KAAsB,CAACX;AAC1B,sBAAM,IAAImD;AAAA,kBACR;AAAA,gBAAA;AAIJ,oBAAMD,IAAS,MAAM3B,EAA0B,YAAY;AAAA,gBACzD,SAAS;AAAA,kBACP,iBAAiBZ,EAAmB;AAAA,kBACpC,aAAa;AAAA,oBACX,SAASA,EAAmB;AAAA,oBAC5B,SAASiC,EAAQ;AAAA,oBACjB,SAASA,EAAQ,WAAW;AAAA,oBAC5B,MAAMA,EAAQ;AAAA,oBACd,OAAOA,EAAQ;AAAA,oBACf,KAAKA,EAAQ;AAAA,oBACb,qBAAqBA,EAAQ;AAAA,oBAC7B,eAAeG;AAAA,kBAAA;AAAA,gBACjB;AAAA,cACF,CACD;AAED,kBAAI,CAACG,EAAO;AACV,sBAAM,IAAIC,EAAiB,4BAA4B;AAGzD,cAAAF,IAAqBC,EAAO;AAAA,YAC9B;AAEA,YAAAT,IAAe;AAAA,cACb,MAAM/B,IAAe,WAAW;AAAA,cAChC,MAAMuC;AAAA,YAAA;AAAA,UAEV,CAAC,GACDP,EAAA;AAAA,QACF;AAAA,QACA,MAAM;AACJ,UAAAA,EAAA;AAAA,QACF;AAAA,MAAA,EACF;AAAA,IACF,CAAC,GAEMD;AAAA,EACT,GAEMW,IAAoBC,GAAqBnC,CAAW;AAE1D,SAAIlB,KAAmB,CAACW,IACf,EAAE,WAAW,IAAe,eAAAmB,EAAA,IAG9B;AAAA,IACL,WAAW;AAAA,IACX,MAAM;AAAA,MACJ,aAAanB,KAAsB;AAAA,IAAA;AAAA,IAErC,QAAQ;AAAA,MACN,WAAAc;AAAA,MACA,MAAMf,IAAgB,WAAsB;AAAA,IAAA;AAAA,IAE9C,SAAS,EAAE,UAAA6B,EAAA;AAAA,IACX,eAAAT;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,QACN,SAASwB;AAAA,QACT,SAASC;AAAA,QACT,MAAMC;AAAA,QACN,OAAOC;AAAA,QACP,KAAKC;AAAA,QACL,qBAAqBC;AAAA,QACrB,eAAezD,IAAyB0D,IAAqB;AAAA,MAAA;AAAA,MAE/D,gBAAAvB;AAAA,MACA,mBAAAe;AAAA,MACA,yBAAyBS,GAA8B3C,GAAaL,CAAM;AAAA,IAAA;AAAA,EAC5E;AAEJ;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { DatePickerHookField as t } from "../../../../../partner-hook-utils/form/fields/DatePickerHookField.js";
|
|
3
|
+
import { SelectHookField as i } from "../../../../../partner-hook-utils/form/fields/SelectHookField.js";
|
|
4
4
|
function c(e) {
|
|
5
|
-
return /* @__PURE__ */ o(
|
|
5
|
+
return /* @__PURE__ */ o(i, { ...e, name: "locationUuid" });
|
|
6
6
|
}
|
|
7
7
|
function m(e) {
|
|
8
|
-
return /* @__PURE__ */ o(
|
|
8
|
+
return /* @__PURE__ */ o(t, { ...e, name: "effectiveDate" });
|
|
9
9
|
}
|
|
10
10
|
export {
|
|
11
11
|
m as EffectiveDateField,
|
|
@@ -22,6 +22,11 @@ export interface UseWorkAddressFormProps {
|
|
|
22
22
|
* When omitted, the form is in create mode (POST).
|
|
23
23
|
*/
|
|
24
24
|
workAddressUuid?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Pre-loaded address matching `workAddressUuid`. When supplied, the form uses it directly
|
|
27
|
+
* instead of issuing a GET — useful when the parent already has the row from a list query.
|
|
28
|
+
*/
|
|
29
|
+
initialAddress?: EmployeeWorkAddress;
|
|
25
30
|
withEffectiveDateField?: boolean;
|
|
26
31
|
optionalFieldsToRequire?: WorkAddressOptionalFieldsToRequire;
|
|
27
32
|
defaultValues?: Partial<WorkAddressFormData>;
|
|
@@ -46,7 +51,7 @@ export interface UseWorkAddressFormReady extends BaseFormHookReady<FieldsMetadat
|
|
|
46
51
|
onSubmit: (callbacks?: WorkAddressSubmitCallbacks, options?: WorkAddressSubmitOptions) => Promise<HookSubmitResult<EmployeeWorkAddress> | undefined>;
|
|
47
52
|
};
|
|
48
53
|
}
|
|
49
|
-
export declare function useWorkAddressForm({ companyId, employeeId, workAddressUuid, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseWorkAddressFormProps): HookLoadingResult | UseWorkAddressFormReady;
|
|
54
|
+
export declare function useWorkAddressForm({ companyId, employeeId, workAddressUuid, initialAddress, withEffectiveDateField, optionalFieldsToRequire, defaultValues: partnerDefaults, validationMode, shouldFocusError, }: UseWorkAddressFormProps): HookLoadingResult | UseWorkAddressFormReady;
|
|
50
55
|
export type UseWorkAddressFormResult = HookLoadingResult | UseWorkAddressFormReady;
|
|
51
56
|
export type WorkAddressFieldsMetadata = UseWorkAddressFormReady['form']['fieldsMetadata'];
|
|
52
57
|
export type WorkAddressFormFields = UseWorkAddressFormReady['form']['Fields'];
|