@gusto/embedded-react-sdk 0.57.1 → 0.57.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 +33 -0
- package/dist/components/Base/Base.js +2 -3
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +32 -32
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -10
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -6
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -8
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +10 -11
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -8
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +8 -9
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -6
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +10 -12
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +11 -13
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -7
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -6
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +7 -9
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -11
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +5 -7
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -9
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +10 -12
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +8 -10
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -6
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +6 -8
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +11 -13
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -6
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -6
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +66 -62
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +2 -2
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +34 -14
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js +106 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js +136 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +38 -20
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +78 -44
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +45 -37
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +253 -92
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js +22 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js +13 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +48 -43
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js +57 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +11 -13
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js +83 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js +84 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js +49 -44
- package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +109 -39
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +5 -7
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -6
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -8
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -6
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -6
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +5 -5
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +16 -17
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js +4 -4
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js +3 -3
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js.map +1 -1
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js +6 -6
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +20 -20
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js +10 -10
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js.map +1 -1
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +8 -9
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Contractor/Landing/Landing.js +43 -39
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +3 -3
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +6 -8
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +10 -10
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +4 -4
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +8 -8
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +5 -5
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.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/Profile/management/ProfileCard/ProfileCard.js +26 -27
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js.map +1 -1
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js +2 -9
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +18 -18
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +6 -6
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +25 -25
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +15 -15
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +25 -25
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +12 -13
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +12 -13
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +6 -8
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +7 -7
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +3 -4
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +3 -4
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +6 -6
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +37 -33
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +27 -27
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +22 -24
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +8 -9
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +14 -15
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +6 -6
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +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/SelfOnboardingFlow/SelfOnboardingComponents.js +8 -15
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +7 -8
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +7 -8
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +11 -11
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +12 -12
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +26 -26
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +56 -54
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +14 -16
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +6 -8
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +9 -11
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +66 -64
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +6 -6
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +75 -89
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +9 -9
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +44 -46
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +63 -61
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +14 -13
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -1
- package/dist/components/Payroll/helpers.js +53 -49
- 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.js +13 -16
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +2 -2
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -4
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +6 -8
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -30
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +2 -4
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/dateFormatting.js +47 -40
- package/dist/helpers/dateFormatting.js.map +1 -1
- package/dist/i18n/en/Company.Management.PaySchedule.json.js +37 -17
- package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +20 -10
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +5 -5
- package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +8 -10
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +12 -14
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -15
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +10 -12
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +14 -16
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +8 -10
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/shared/constants.js +5 -5
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Common/DateRangeFilter/DateRangeFilter.d.ts +2 -2
- package/dist/src/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/PayScheduleForm.d.ts +6 -0
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +10 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.d.ts +21 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.d.ts +9 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +5 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +10 -10
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +12 -4
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.d.ts +19 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.d.ts +17 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +16 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.d.ts +23 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.d.ts +25 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +1 -1
- package/dist/src/components/Contractor/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Employee/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/helpers.d.ts +22 -2
- package/dist/src/components/Payroll/usePreparedPayrollData.d.ts +2 -2
- package/dist/src/helpers/dateFormatting.d.ts +13 -0
- package/dist/src/i18n/types.d.ts +96 -6
- package/dist/src/models/external.d.ts +63 -48
- package/dist/src/shared/constants.d.ts +1 -1
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +33 -13
- package/package.json +21 -21
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { jsxs as i, jsx as n } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as a } from "react-i18next";
|
|
3
3
|
import { useStateTaxesForm as s } from "./context.js";
|
|
4
|
-
import "classnames";
|
|
5
|
-
import "../../../../shared/constants.js";
|
|
6
4
|
import { ActionsLayout as m } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
5
|
import { useComponentContext as c } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
8
|
-
function
|
|
9
|
-
const { t } = a("Company.StateTaxes", { keyPrefix: "form" }), { handleCancel:
|
|
6
|
+
function d() {
|
|
7
|
+
const { t } = a("Company.StateTaxes", { keyPrefix: "form" }), { handleCancel: e, isPending: r } = s(), o = c();
|
|
10
8
|
return /* @__PURE__ */ i(m, { children: [
|
|
11
|
-
/* @__PURE__ */ n(o.Button, { type: "button", variant: "secondary", onClick:
|
|
12
|
-
/* @__PURE__ */ n(o.Button, { variant: "primary", type: "submit", isDisabled:
|
|
9
|
+
/* @__PURE__ */ n(o.Button, { type: "button", variant: "secondary", onClick: e, children: t("cancelCta") }),
|
|
10
|
+
/* @__PURE__ */ n(o.Button, { variant: "primary", type: "submit", isDisabled: r, children: t("saveCta") })
|
|
13
11
|
] });
|
|
14
12
|
}
|
|
15
13
|
export {
|
|
16
|
-
|
|
14
|
+
d as Actions
|
|
17
15
|
};
|
|
18
16
|
//# sourceMappingURL=Actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesForm/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useStateTaxesForm } from './context'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/** @internal */\nexport function Actions() {\n const { t } = useTranslation('Company.StateTaxes', { keyPrefix: 'form' })\n const { handleCancel, isPending } = useStateTaxesForm()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"button\" variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" type=\"submit\" isDisabled={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","handleCancel","isPending","useStateTaxesForm","Components","useComponentContext","ActionsLayout","jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesForm/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useStateTaxesForm } from './context'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/** @internal */\nexport function Actions() {\n const { t } = useTranslation('Company.StateTaxes', { keyPrefix: 'form' })\n const { handleCancel, isPending } = useStateTaxesForm()\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"button\" variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" type=\"submit\" isDisabled={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","useTranslation","handleCancel","isPending","useStateTaxesForm","Components","useComponentContext","ActionsLayout","jsx"],"mappings":";;;;;AAMO,SAASA,IAAU;AACxB,QAAM,EAAE,MAAMC,EAAe,sBAAsB,EAAE,WAAW,QAAQ,GAClE,EAAE,cAAAC,GAAc,WAAAC,EAAA,IAAcC,EAAA,GAC9BC,IAAaC,EAAA;AAEnB,2BACGC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACH,EAAW,QAAX,EAAkB,MAAK,UAAS,SAAQ,aAAY,SAASH,GAC3D,UAAA,EAAE,WAAW,EAAA,CAChB;AAAA,IACA,gBAAAM,EAACH,EAAW,QAAX,EAAkB,SAAQ,WAAU,MAAK,UAAS,YAAYF,GAC5D,UAAA,EAAE,SAAS,EAAA,CACd;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -9,16 +9,13 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
|
|
|
9
9
|
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
10
10
|
import "@gusto/embedded-api/models/errors/unprocessableentityerror";
|
|
11
11
|
import "@gusto/embedded-api/models/errors/httpclienterrors";
|
|
12
|
-
import "dompurify";
|
|
13
|
-
import "../../../../contexts/LocaleProvider/useLocale.js";
|
|
14
12
|
import "../../../../shared/constants.js";
|
|
15
|
-
import "classnames";
|
|
16
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
17
14
|
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
18
15
|
import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
|
|
19
|
-
const [
|
|
16
|
+
const [d, u] = t("StateTaxesFormContext");
|
|
20
17
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
u as StateTaxesFormProvider,
|
|
19
|
+
d as useStateTaxesForm
|
|
23
20
|
};
|
|
24
21
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesForm/context.ts"],"sourcesContent":["import type { TaxRequirementsState } from '@gusto/embedded-api/models/components/taxrequirementsstate'\nimport { createCompoundContext } from '@/components/Base'\n\ninterface StateTaxFormContext {\n isPending: boolean\n state: string\n stateTaxRequirements: TaxRequirementsState\n handleCancel: () => void\n}\n\nconst [useStateTaxesForm, StateTaxesFormProvider] =\n createCompoundContext<StateTaxFormContext>('StateTaxesFormContext')\n\nexport { useStateTaxesForm, StateTaxesFormProvider }\n"],"names":["useStateTaxesForm","StateTaxesFormProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesForm/context.ts"],"sourcesContent":["import type { TaxRequirementsState } from '@gusto/embedded-api/models/components/taxrequirementsstate'\nimport { createCompoundContext } from '@/components/Base'\n\ninterface StateTaxFormContext {\n isPending: boolean\n state: string\n stateTaxRequirements: TaxRequirementsState\n handleCancel: () => void\n}\n\nconst [useStateTaxesForm, StateTaxesFormProvider] =\n createCompoundContext<StateTaxFormContext>('StateTaxesFormContext')\n\nexport { useStateTaxesForm, StateTaxesFormProvider }\n"],"names":["useStateTaxesForm","StateTaxesFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAmBC,CAAsB,IAC9CC,EAA2C,uBAAuB;"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as i } from "react-i18next";
|
|
3
3
|
import { useStateTaxesList as e } from "./context.js";
|
|
4
|
-
import "
|
|
5
|
-
import "../../../../
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const { t: o } = i("Company.StateTaxes"), n = s(), { handleContinue: r } = e();
|
|
10
|
-
return /* @__PURE__ */ t(m, { children: /* @__PURE__ */ t(n.Button, { variant: "primary", onClick: r, children: o("list.continueCta") }) });
|
|
4
|
+
import { ActionsLayout as s } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
5
|
+
import { useComponentContext as m } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
6
|
+
function f() {
|
|
7
|
+
const { t: o } = i("Company.StateTaxes"), n = m(), { handleContinue: r } = e();
|
|
8
|
+
return /* @__PURE__ */ t(s, { children: /* @__PURE__ */ t(n.Button, { variant: "primary", onClick: r, children: o("list.continueCta") }) });
|
|
11
9
|
}
|
|
12
10
|
export {
|
|
13
|
-
|
|
11
|
+
f as Actions
|
|
14
12
|
};
|
|
15
13
|
//# sourceMappingURL=Actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesList/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useStateTaxesList } from './context'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/** @internal */\nexport function Actions() {\n const { t } = useTranslation('Company.StateTaxes')\n const Components = useComponentContext()\n const { handleContinue } = useStateTaxesList()\n return (\n <ActionsLayout>\n <Components.Button variant=\"primary\" onClick={handleContinue}>\n {t('list.continueCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","t","useTranslation","Components","useComponentContext","handleContinue","useStateTaxesList","jsx","ActionsLayout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesList/Actions.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useStateTaxesList } from './context'\nimport { ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/** @internal */\nexport function Actions() {\n const { t } = useTranslation('Company.StateTaxes')\n const Components = useComponentContext()\n const { handleContinue } = useStateTaxesList()\n return (\n <ActionsLayout>\n <Components.Button variant=\"primary\" onClick={handleContinue}>\n {t('list.continueCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["Actions","t","useTranslation","Components","useComponentContext","handleContinue","useStateTaxesList","jsx","ActionsLayout"],"mappings":";;;;;AAMO,SAASA,IAAU;AACxB,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GACb,EAAE,gBAAAC,EAAA,IAAmBC,EAAA;AAC3B,SACE,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACJ,EAAW,QAAX,EAAkB,SAAQ,WAAU,SAASE,GAC3C,UAAAJ,EAAE,kBAAkB,GACvB,GACF;AAEJ;"}
|
|
@@ -9,16 +9,13 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
|
|
|
9
9
|
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
10
10
|
import "@gusto/embedded-api/models/errors/unprocessableentityerror";
|
|
11
11
|
import "@gusto/embedded-api/models/errors/httpclienterrors";
|
|
12
|
-
import "dompurify";
|
|
13
|
-
import "../../../../contexts/LocaleProvider/useLocale.js";
|
|
14
12
|
import "../../../../shared/constants.js";
|
|
15
|
-
import "classnames";
|
|
16
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
17
14
|
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
18
15
|
import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
|
|
19
|
-
const [
|
|
16
|
+
const [d, u] = t("StateTaxesListContext");
|
|
20
17
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
u as StateTaxesListProvider,
|
|
19
|
+
d as useStateTaxesList
|
|
23
20
|
};
|
|
24
21
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesList/context.ts"],"sourcesContent":["import type { TaxRequirementStatesList } from '@gusto/embedded-api/models/components/taxrequirementstateslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype StateTaxesListContextType = {\n isPending: boolean\n stateTaxRequirements: TaxRequirementStatesList[]\n handleContinue: () => void\n handleChange: (state: string) => void\n handleManageRates: (state: string) => void\n}\n\nconst [useStateTaxesList, StateTaxesListProvider] =\n createCompoundContext<StateTaxesListContextType>('StateTaxesListContext')\n\nexport { useStateTaxesList, StateTaxesListProvider }\n"],"names":["useStateTaxesList","StateTaxesListProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/StateTaxesList/context.ts"],"sourcesContent":["import type { TaxRequirementStatesList } from '@gusto/embedded-api/models/components/taxrequirementstateslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype StateTaxesListContextType = {\n isPending: boolean\n stateTaxRequirements: TaxRequirementStatesList[]\n handleContinue: () => void\n handleChange: (state: string) => void\n handleManageRates: (state: string) => void\n}\n\nconst [useStateTaxesList, StateTaxesListProvider] =\n createCompoundContext<StateTaxesListContextType>('StateTaxesListContext')\n\nexport { useStateTaxesList, StateTaxesListProvider }\n"],"names":["useStateTaxesList","StateTaxesListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AAWA,MAAM,CAACA,GAAmBC,CAAsB,IAC9CC,EAAiD,uBAAuB;"}
|
|
@@ -9,16 +9,13 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
|
|
|
9
9
|
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
10
10
|
import "@gusto/embedded-api/models/errors/unprocessableentityerror";
|
|
11
11
|
import "@gusto/embedded-api/models/errors/httpclienterrors";
|
|
12
|
-
import "dompurify";
|
|
13
|
-
import "../../../../contexts/LocaleProvider/useLocale.js";
|
|
14
12
|
import "../../../../shared/constants.js";
|
|
15
|
-
import "classnames";
|
|
16
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
17
14
|
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
18
15
|
import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
|
|
19
|
-
const [
|
|
16
|
+
const [d, s] = t("TaxRateManagementContext");
|
|
20
17
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
s as TaxRateManagementProvider,
|
|
19
|
+
d as useTaxRateManagement
|
|
23
20
|
};
|
|
24
21
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/TaxRateManagement/context.ts"],"sourcesContent":["import type { TaxRequirementSet } from '@gusto/embedded-api/models/components/taxrequirementset'\nimport { createCompoundContext } from '@/components/Base'\n\n/**\n * A state's effective-dated requirement sets for a single key, grouped for history display,\n * plus any future-dated candidate sets available to schedule against.\n *\n * @internal\n */\nexport interface TaxRateKeyGroup {\n key: string\n label?: string\n sets: TaxRequirementSet[]\n candidateSets: TaxRequirementSet[]\n}\n\ninterface TaxRateManagementContextType {\n state: string\n groups: TaxRateKeyGroup[]\n isPendingUpdate: boolean\n handleCancel: () => void\n handleAddRate: (\n key: string,\n effectiveFrom: string,\n requirements: { key: string; value: string }[],\n ) => Promise<boolean>\n}\n\nconst [useTaxRateManagement, TaxRateManagementProvider] =\n createCompoundContext<TaxRateManagementContextType>('TaxRateManagementContext')\n\nexport { useTaxRateManagement, TaxRateManagementProvider }\n"],"names":["useTaxRateManagement","TaxRateManagementProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../../src/components/Company/StateTaxes/TaxRateManagement/context.ts"],"sourcesContent":["import type { TaxRequirementSet } from '@gusto/embedded-api/models/components/taxrequirementset'\nimport { createCompoundContext } from '@/components/Base'\n\n/**\n * A state's effective-dated requirement sets for a single key, grouped for history display,\n * plus any future-dated candidate sets available to schedule against.\n *\n * @internal\n */\nexport interface TaxRateKeyGroup {\n key: string\n label?: string\n sets: TaxRequirementSet[]\n candidateSets: TaxRequirementSet[]\n}\n\ninterface TaxRateManagementContextType {\n state: string\n groups: TaxRateKeyGroup[]\n isPendingUpdate: boolean\n handleCancel: () => void\n handleAddRate: (\n key: string,\n effectiveFrom: string,\n requirements: { key: string; value: string }[],\n ) => Promise<boolean>\n}\n\nconst [useTaxRateManagement, TaxRateManagementProvider] =\n createCompoundContext<TaxRateManagementContextType>('TaxRateManagementContext')\n\nexport { useTaxRateManagement, TaxRateManagementProvider }\n"],"names":["useTaxRateManagement","TaxRateManagementProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AA4BA,MAAM,CAACA,GAAsBC,CAAyB,IACpDC,EAAoD,0BAA0B;"}
|
|
@@ -32,7 +32,7 @@ function ft({
|
|
|
32
32
|
optionalFieldsToRequire: s,
|
|
33
33
|
defaultValues: r,
|
|
34
34
|
validationMode: C = "onSubmit",
|
|
35
|
-
shouldFocusError:
|
|
35
|
+
shouldFocusError: h = !0
|
|
36
36
|
}) {
|
|
37
37
|
const n = L(
|
|
38
38
|
{ contractorUuid: t },
|
|
@@ -40,7 +40,7 @@ function ft({
|
|
|
40
40
|
), d = Q(
|
|
41
41
|
{ contractorUuid: t },
|
|
42
42
|
{ enabled: !!t }
|
|
43
|
-
), a = n.data?.
|
|
43
|
+
), a = n.data?.contractorShow, v = a?.type, e = d.data?.contractorAddress, [c, b] = A(
|
|
44
44
|
() => T({ optionalFieldsToRequire: s }),
|
|
45
45
|
[s]
|
|
46
46
|
), m = A(
|
|
@@ -55,7 +55,7 @@ function ft({
|
|
|
55
55
|
), i = O({
|
|
56
56
|
resolver: P(c),
|
|
57
57
|
mode: C,
|
|
58
|
-
shouldFocusError:
|
|
58
|
+
shouldFocusError: h,
|
|
59
59
|
defaultValues: m,
|
|
60
60
|
values: m,
|
|
61
61
|
resetOptions: { keepDirtyValues: !0 }
|
|
@@ -66,7 +66,7 @@ function ft({
|
|
|
66
66
|
} = X("ContractorAddressForm"), p = W([n, d], {
|
|
67
67
|
submitError: z,
|
|
68
68
|
setSubmitError: M
|
|
69
|
-
}), E = j(
|
|
69
|
+
}), E = j(b, i.control), U = Y(E), V = async (H) => {
|
|
70
70
|
let l;
|
|
71
71
|
return await new Promise((f) => {
|
|
72
72
|
i.handleSubmit(
|
|
@@ -109,7 +109,7 @@ function ft({
|
|
|
109
109
|
data: {
|
|
110
110
|
contractorAddress: e,
|
|
111
111
|
contractor: a,
|
|
112
|
-
contractorType:
|
|
112
|
+
contractorType: v
|
|
113
113
|
},
|
|
114
114
|
status: {
|
|
115
115
|
isPending: w,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContractorAddressForm.js","sources":["../../../../../../src/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport type { ComponentType } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Contractor, ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsGetAddress } from '@gusto/embedded-api/react-query/contractorsGetAddress'\nimport { useContractorsUpdateAddressMutation } from '@gusto/embedded-api/react-query/contractorsUpdateAddress'\nimport {\n createContractorAddressSchema,\n type ContractorAddressOptionalFieldsToRequire,\n type ContractorAddressFormData,\n type ContractorAddressFormOutputs,\n} from './contractorAddressSchema'\nimport { Street1Field, Street2Field, CityField, StateField, ZipField } from './fields'\nimport type {\n Street1FieldProps,\n Street2FieldProps,\n CityFieldProps,\n StateFieldProps,\n ZipFieldProps,\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 FieldMetadata,\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 { ContractorAddressOptionalFieldsToRequire } from './contractorAddressSchema'\n\n/**\n * Optional overrides passed to {@link UseContractorAddressFormReady.actions.onSubmit | onSubmit}.\n *\n * @public\n */\nexport interface ContractorAddressSubmitOptions {\n /** Override the contractor identifier supplied to the hook. */\n contractorId?: string\n}\n\n/**\n * Configuration options for {@link useContractorAddressForm}.\n *\n * @public\n */\nexport interface UseContractorAddressFormProps {\n /** UUID of the contractor whose address is being edited. */\n contractorId: string\n /** Override fields that are optional by default to be required. See `ContractorAddressOptionalFieldsToRequire`. */\n optionalFieldsToRequire?: ContractorAddressOptionalFieldsToRequire\n /** Pre-fill form values. Server data takes precedence. */\n defaultValues?: Partial<ContractorAddressFormData>\n /** Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler` so submit-time focus is coordinated across multiple forms. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useContractorAddressForm} on `form.Fields`.\n *\n * @public\n */\nexport interface ContractorAddressFormFields {\n /** Bound to `street1`. Text input for the first street address line. Required. */\n Street1: ComponentType<Street1FieldProps>\n /** Bound to `street2`. Text input for the second street address line. Optional. */\n Street2: ComponentType<Street2FieldProps>\n /** Bound to `city`. Text input for the city. Required. */\n City: ComponentType<CityFieldProps>\n /**\n * Bound to `state`. Select whose options are the standard two-letter US state\n * abbreviations. Supply `getOptionLabel` to localize the option labels. Required.\n */\n State: ComponentType<StateFieldProps>\n /**\n * Bound to `zip`. Text input for the ZIP code. Required; also validates ZIP\n * format and emits `INVALID_ZIP` when the value does not match.\n */\n Zip: ComponentType<ZipFieldProps>\n}\n\n/**\n * Ready-state shape returned by {@link useContractorAddressForm} once data has loaded.\n *\n * @remarks\n * Discriminated by `isLoading: false`. Extends {@link BaseFormHookReady} with\n * the contractor-address-specific `data`, `status`, `actions`, and `form.Fields` shape.\n *\n * @public\n */\nexport interface UseContractorAddressFormReady extends BaseFormHookReady<\n ContractorAddressFieldsMetadata,\n ContractorAddressFormData,\n ContractorAddressFormFields\n> {\n /** Static entity data resolved from the API. */\n data: {\n /** The contractor address row loaded for update. */\n contractorAddress: ContractorAddress\n /** The full contractor entity loaded alongside the address. */\n contractor: Contractor\n /** The contractor's type — drives whether the address is labelled \"home\" (Individual) or \"business\" (Business). */\n contractorType: ContractorType | undefined\n }\n /** Reactive status flags. */\n status: { isPending: boolean; mode: 'update' }\n /** Available actions. */\n actions: {\n onSubmit: (\n options?: ContractorAddressSubmitOptions,\n ) => Promise<HookSubmitResult<ContractorAddress> | undefined>\n }\n}\n\n/** @internal */\nfunction buildContractorAddressFieldsMetadata(\n base: Record<keyof ContractorAddressFormData, FieldMetadata>,\n) {\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n return {\n street1: base.street1,\n street2: base.street2,\n city: base.city,\n state: withOptions(base.state, stateOptions, STATES_ABBR),\n zip: base.zip,\n } satisfies FieldsMetadata\n}\n\n/**\n * Form hook for editing a contractor's address.\n *\n * @remarks\n * A contractor always has exactly one address (created with the contractor),\n * so this hook operates only in update mode and issues a PUT on submit. The\n * same address is labelled a \"home\" address for Individual contractors and a\n * \"business\" address for Business contractors; the hook exposes `contractorType`\n * so the consuming component can choose the appropriate copy.\n *\n * @param props - See {@link UseContractorAddressFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseContractorAddressFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useContractorAddressForm,\n * SDKFormProvider,\n * type UseContractorAddressFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function ContractorAddressPage({ contractorId }: { contractorId: string }) {\n * const contractorAddress = useContractorAddressForm({ contractorId })\n *\n * if (contractorAddress.isLoading) return <div>Loading...</div>\n *\n * return <ContractorAddressReady contractorAddress={contractorAddress} />\n * }\n *\n * function ContractorAddressReady({\n * contractorAddress,\n * }: {\n * contractorAddress: UseContractorAddressFormReady\n * }) {\n * const { Fields } = contractorAddress.form\n *\n * return (\n * <SDKFormProvider formHookResult={contractorAddress}>\n * <form onSubmit={e => { e.preventDefault(); void contractorAddress.actions.onSubmit() }}>\n * <Fields.Street1 label=\"Street address\" />\n * <Fields.Street2 label=\"Apt, suite, etc. (optional)\" />\n * <Fields.City label=\"City\" />\n * <Fields.State label=\"State\" />\n * <Fields.Zip label=\"ZIP code\" />\n * <button type=\"submit\" disabled={contractorAddress.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useContractorAddressForm({\n contractorId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseContractorAddressFormProps): HookLoadingResult | UseContractorAddressFormReady {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { enabled: !!contractorId },\n )\n const addressQuery = useContractorsGetAddress(\n { contractorUuid: contractorId },\n { enabled: !!contractorId },\n )\n\n const contractor = contractorQuery.data?.contractor\n const contractorType = contractor?.type\n const fetchedAddress = addressQuery.data?.contractorAddress\n\n const [schema, metadataConfig] = useMemo(\n () => createContractorAddressSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: ContractorAddressFormData = useMemo(\n () => ({\n street1: fetchedAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedAddress?.zip ?? partnerDefaults?.zip ?? '',\n }),\n [fetchedAddress, partnerDefaults],\n )\n\n const formMethods = useForm<ContractorAddressFormData, unknown, ContractorAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const updateAddressMutation = useContractorsUpdateAddressMutation()\n\n const isPending = updateAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorAddressForm')\n\n const errorHandling = composeErrorHandler([contractorQuery, addressQuery], {\n submitError,\n setSubmitError,\n })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = buildContractorAddressFieldsMetadata(baseMetadata)\n\n const onSubmit = async (\n options?: ContractorAddressSubmitOptions,\n ): Promise<HookSubmitResult<ContractorAddress> | undefined> => {\n let submitResult: HookSubmitResult<ContractorAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedContractorId = options?.contractorId ?? contractorId\n\n if (!fetchedAddress?.version) {\n throw new SDKInternalError(\n 'Cannot update contractor address: no matching address on file',\n )\n }\n\n const result = await updateAddressMutation.mutateAsync({\n request: {\n contractorUuid: resolvedContractorId,\n contractorAddressUpdateBody: {\n version: fetchedAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n },\n },\n })\n\n if (!result.contractorAddress) {\n throw new SDKInternalError('Contractor address update failed')\n }\n\n submitResult = {\n mode: 'update',\n data: result.contractorAddress,\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 (!contractor || !fetchedAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n contractorAddress: fetchedAddress,\n contractor,\n contractorType,\n },\n status: {\n isPending,\n mode: '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 },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Discriminated union returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type UseContractorAddressFormResult = HookLoadingResult | UseContractorAddressFormReady\n/**\n * Type of `form.fieldsMetadata` returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type ContractorAddressFieldsMetadata = ReturnType<\n typeof buildContractorAddressFieldsMetadata\n>\n"],"names":["buildContractorAddressFieldsMetadata","base","stateOptions","STATES_ABBR","abbr","withOptions","useContractorAddressForm","contractorId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","contractorQuery","useContractorsGet","addressQuery","useContractorsGetAddress","contractor","contractorType","fetchedAddress","schema","metadataConfig","useMemo","createContractorAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","updateAddressMutation","useContractorsUpdateAddressMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","onSubmit","options","submitResult","resolve","data","payload","resolvedContractorId","SDKInternalError","result","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useContractorAddressForm.js","sources":["../../../../../../src/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport type { ComponentType } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Contractor, ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsGetAddress } from '@gusto/embedded-api/react-query/contractorsGetAddress'\nimport { useContractorsUpdateAddressMutation } from '@gusto/embedded-api/react-query/contractorsUpdateAddress'\nimport {\n createContractorAddressSchema,\n type ContractorAddressOptionalFieldsToRequire,\n type ContractorAddressFormData,\n type ContractorAddressFormOutputs,\n} from './contractorAddressSchema'\nimport { Street1Field, Street2Field, CityField, StateField, ZipField } from './fields'\nimport type {\n Street1FieldProps,\n Street2FieldProps,\n CityFieldProps,\n StateFieldProps,\n ZipFieldProps,\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 FieldMetadata,\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 { ContractorAddressOptionalFieldsToRequire } from './contractorAddressSchema'\n\n/**\n * Optional overrides passed to {@link UseContractorAddressFormReady.actions.onSubmit | onSubmit}.\n *\n * @public\n */\nexport interface ContractorAddressSubmitOptions {\n /** Override the contractor identifier supplied to the hook. */\n contractorId?: string\n}\n\n/**\n * Configuration options for {@link useContractorAddressForm}.\n *\n * @public\n */\nexport interface UseContractorAddressFormProps {\n /** UUID of the contractor whose address is being edited. */\n contractorId: string\n /** Override fields that are optional by default to be required. See `ContractorAddressOptionalFieldsToRequire`. */\n optionalFieldsToRequire?: ContractorAddressOptionalFieldsToRequire\n /** Pre-fill form values. Server data takes precedence. */\n defaultValues?: Partial<ContractorAddressFormData>\n /** Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler` so submit-time focus is coordinated across multiple forms. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useContractorAddressForm} on `form.Fields`.\n *\n * @public\n */\nexport interface ContractorAddressFormFields {\n /** Bound to `street1`. Text input for the first street address line. Required. */\n Street1: ComponentType<Street1FieldProps>\n /** Bound to `street2`. Text input for the second street address line. Optional. */\n Street2: ComponentType<Street2FieldProps>\n /** Bound to `city`. Text input for the city. Required. */\n City: ComponentType<CityFieldProps>\n /**\n * Bound to `state`. Select whose options are the standard two-letter US state\n * abbreviations. Supply `getOptionLabel` to localize the option labels. Required.\n */\n State: ComponentType<StateFieldProps>\n /**\n * Bound to `zip`. Text input for the ZIP code. Required; also validates ZIP\n * format and emits `INVALID_ZIP` when the value does not match.\n */\n Zip: ComponentType<ZipFieldProps>\n}\n\n/**\n * Ready-state shape returned by {@link useContractorAddressForm} once data has loaded.\n *\n * @remarks\n * Discriminated by `isLoading: false`. Extends {@link BaseFormHookReady} with\n * the contractor-address-specific `data`, `status`, `actions`, and `form.Fields` shape.\n *\n * @public\n */\nexport interface UseContractorAddressFormReady extends BaseFormHookReady<\n ContractorAddressFieldsMetadata,\n ContractorAddressFormData,\n ContractorAddressFormFields\n> {\n /** Static entity data resolved from the API. */\n data: {\n /** The contractor address row loaded for update. */\n contractorAddress: ContractorAddress\n /** The full contractor entity loaded alongside the address. */\n contractor: Contractor\n /** The contractor's type — drives whether the address is labelled \"home\" (Individual) or \"business\" (Business). */\n contractorType: ContractorType | undefined\n }\n /** Reactive status flags. */\n status: { isPending: boolean; mode: 'update' }\n /** Available actions. */\n actions: {\n onSubmit: (\n options?: ContractorAddressSubmitOptions,\n ) => Promise<HookSubmitResult<ContractorAddress> | undefined>\n }\n}\n\n/** @internal */\nfunction buildContractorAddressFieldsMetadata(\n base: Record<keyof ContractorAddressFormData, FieldMetadata>,\n) {\n const stateOptions = STATES_ABBR.map(abbr => ({\n value: abbr,\n label: abbr,\n }))\n return {\n street1: base.street1,\n street2: base.street2,\n city: base.city,\n state: withOptions(base.state, stateOptions, STATES_ABBR),\n zip: base.zip,\n } satisfies FieldsMetadata\n}\n\n/**\n * Form hook for editing a contractor's address.\n *\n * @remarks\n * A contractor always has exactly one address (created with the contractor),\n * so this hook operates only in update mode and issues a PUT on submit. The\n * same address is labelled a \"home\" address for Individual contractors and a\n * \"business\" address for Business contractors; the hook exposes `contractorType`\n * so the consuming component can choose the appropriate copy.\n *\n * @param props - See {@link UseContractorAddressFormProps}.\n * @returns A {@link HookLoadingResult} while loading, or a {@link UseContractorAddressFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * useContractorAddressForm,\n * SDKFormProvider,\n * type UseContractorAddressFormReady,\n * } from '@gusto/embedded-react-sdk'\n *\n * function ContractorAddressPage({ contractorId }: { contractorId: string }) {\n * const contractorAddress = useContractorAddressForm({ contractorId })\n *\n * if (contractorAddress.isLoading) return <div>Loading...</div>\n *\n * return <ContractorAddressReady contractorAddress={contractorAddress} />\n * }\n *\n * function ContractorAddressReady({\n * contractorAddress,\n * }: {\n * contractorAddress: UseContractorAddressFormReady\n * }) {\n * const { Fields } = contractorAddress.form\n *\n * return (\n * <SDKFormProvider formHookResult={contractorAddress}>\n * <form onSubmit={e => { e.preventDefault(); void contractorAddress.actions.onSubmit() }}>\n * <Fields.Street1 label=\"Street address\" />\n * <Fields.Street2 label=\"Apt, suite, etc. (optional)\" />\n * <Fields.City label=\"City\" />\n * <Fields.State label=\"State\" />\n * <Fields.Zip label=\"ZIP code\" />\n * <button type=\"submit\" disabled={contractorAddress.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useContractorAddressForm({\n contractorId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseContractorAddressFormProps): HookLoadingResult | UseContractorAddressFormReady {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { enabled: !!contractorId },\n )\n const addressQuery = useContractorsGetAddress(\n { contractorUuid: contractorId },\n { enabled: !!contractorId },\n )\n\n const contractor = contractorQuery.data?.contractorShow\n const contractorType = contractor?.type\n const fetchedAddress = addressQuery.data?.contractorAddress\n\n const [schema, metadataConfig] = useMemo(\n () => createContractorAddressSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: ContractorAddressFormData = useMemo(\n () => ({\n street1: fetchedAddress?.street1 ?? partnerDefaults?.street1 ?? '',\n street2: fetchedAddress?.street2 ?? partnerDefaults?.street2 ?? '',\n city: fetchedAddress?.city ?? partnerDefaults?.city ?? '',\n state: fetchedAddress?.state ?? partnerDefaults?.state ?? '',\n zip: fetchedAddress?.zip ?? partnerDefaults?.zip ?? '',\n }),\n [fetchedAddress, partnerDefaults],\n )\n\n const formMethods = useForm<ContractorAddressFormData, unknown, ContractorAddressFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const updateAddressMutation = useContractorsUpdateAddressMutation()\n\n const isPending = updateAddressMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorAddressForm')\n\n const errorHandling = composeErrorHandler([contractorQuery, addressQuery], {\n submitError,\n setSubmitError,\n })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = buildContractorAddressFieldsMetadata(baseMetadata)\n\n const onSubmit = async (\n options?: ContractorAddressSubmitOptions,\n ): Promise<HookSubmitResult<ContractorAddress> | undefined> => {\n let submitResult: HookSubmitResult<ContractorAddress> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorAddressFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedContractorId = options?.contractorId ?? contractorId\n\n if (!fetchedAddress?.version) {\n throw new SDKInternalError(\n 'Cannot update contractor address: no matching address on file',\n )\n }\n\n const result = await updateAddressMutation.mutateAsync({\n request: {\n contractorUuid: resolvedContractorId,\n contractorAddressUpdateBody: {\n version: fetchedAddress.version,\n street1: payload.street1,\n street2: payload.street2 || undefined,\n city: payload.city,\n state: payload.state,\n zip: payload.zip,\n },\n },\n })\n\n if (!result.contractorAddress) {\n throw new SDKInternalError('Contractor address update failed')\n }\n\n submitResult = {\n mode: 'update',\n data: result.contractorAddress,\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 (!contractor || !fetchedAddress) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n contractorAddress: fetchedAddress,\n contractor,\n contractorType,\n },\n status: {\n isPending,\n mode: '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 },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Discriminated union returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type UseContractorAddressFormResult = HookLoadingResult | UseContractorAddressFormReady\n/**\n * Type of `form.fieldsMetadata` returned by {@link useContractorAddressForm}.\n *\n * @public\n */\nexport type ContractorAddressFieldsMetadata = ReturnType<\n typeof buildContractorAddressFieldsMetadata\n>\n"],"names":["buildContractorAddressFieldsMetadata","base","stateOptions","STATES_ABBR","abbr","withOptions","useContractorAddressForm","contractorId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","contractorQuery","useContractorsGet","addressQuery","useContractorsGetAddress","contractor","contractorType","fetchedAddress","schema","metadataConfig","useMemo","createContractorAddressSchema","resolvedDefaults","formMethods","useForm","zodResolver","updateAddressMutation","useContractorsUpdateAddressMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","onSubmit","options","submitResult","resolve","data","payload","resolvedContractorId","SDKInternalError","result","hookFormInternals","useHookFormInternals","Street1Field","Street2Field","CityField","StateField","ZipField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ function f({
|
|
|
10
10
|
), r = a(
|
|
11
11
|
{ contractorUuid: o },
|
|
12
12
|
{ staleTime: 1 / 0 }
|
|
13
|
-
), s = c([t, r]), n = r.data?.contractorAddress, e = t.data?.
|
|
13
|
+
), s = c([t, r]), n = r.data?.contractorAddress, e = t.data?.contractorShow?.type;
|
|
14
14
|
return t.isLoading || r.isLoading || !n ? { isLoading: !0, errorHandling: s } : {
|
|
15
15
|
isLoading: !1,
|
|
16
16
|
data: { contractorAddress: n, contractorType: e },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContractorAddressSummary.js","sources":["../../../../../../src/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.tsx"],"sourcesContent":["import { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsGetAddress } from '@gusto/embedded-api/react-query/contractorsGetAddress'\nimport type { ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/** @internal */\nexport interface UseContractorAddressSummaryParams {\n contractorId: string\n}\n\ntype UseContractorAddressSummaryReady = BaseHookReady<\n {\n contractorAddress: ContractorAddress\n contractorType: ContractorType | undefined\n },\n { isFetching: boolean; isPending: boolean }\n>\n\n/** @internal */\nexport type UseContractorAddressSummaryResult = HookLoadingResult | UseContractorAddressSummaryReady\n\n/** @internal */\nexport function useContractorAddressSummary({\n contractorId,\n}: UseContractorAddressSummaryParams): UseContractorAddressSummaryResult {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n const addressQuery = useContractorsGetAddress(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n\n const errorHandling = composeErrorHandler([contractorQuery, addressQuery])\n\n const contractorAddress = addressQuery.data?.contractorAddress\n const contractorType = contractorQuery.data?.
|
|
1
|
+
{"version":3,"file":"useContractorAddressSummary.js","sources":["../../../../../../src/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.tsx"],"sourcesContent":["import { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsGetAddress } from '@gusto/embedded-api/react-query/contractorsGetAddress'\nimport type { ContractorType } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorAddress } from '@gusto/embedded-api/models/components/contractoraddress'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/** @internal */\nexport interface UseContractorAddressSummaryParams {\n contractorId: string\n}\n\ntype UseContractorAddressSummaryReady = BaseHookReady<\n {\n contractorAddress: ContractorAddress\n contractorType: ContractorType | undefined\n },\n { isFetching: boolean; isPending: boolean }\n>\n\n/** @internal */\nexport type UseContractorAddressSummaryResult = HookLoadingResult | UseContractorAddressSummaryReady\n\n/** @internal */\nexport function useContractorAddressSummary({\n contractorId,\n}: UseContractorAddressSummaryParams): UseContractorAddressSummaryResult {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n const addressQuery = useContractorsGetAddress(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n\n const errorHandling = composeErrorHandler([contractorQuery, addressQuery])\n\n const contractorAddress = addressQuery.data?.contractorAddress\n const contractorType = contractorQuery.data?.contractorShow?.type\n\n if (contractorQuery.isLoading || addressQuery.isLoading || !contractorAddress) {\n return { isLoading: true, errorHandling }\n }\n\n return {\n isLoading: false,\n data: { contractorAddress, contractorType },\n status: {\n isFetching: contractorQuery.isFetching || addressQuery.isFetching,\n isPending: false,\n },\n errorHandling,\n }\n}\n"],"names":["useContractorAddressSummary","contractorId","contractorQuery","useContractorsGet","addressQuery","useContractorsGetAddress","errorHandling","composeErrorHandler","contractorAddress","contractorType"],"mappings":";;;AAwBO,SAASA,EAA4B;AAAA,EAC1C,cAAAC;AACF,GAAyE;AACvE,QAAMC,IAAkBC;AAAA,IACtB,EAAE,gBAAgBF,EAAA;AAAA,IAClB,EAAE,WAAW,MAAA;AAAA,EAAS,GAElBG,IAAeC;AAAA,IACnB,EAAE,gBAAgBJ,EAAA;AAAA,IAClB,EAAE,WAAW,MAAA;AAAA,EAAS,GAGlBK,IAAgBC,EAAoB,CAACL,GAAiBE,CAAY,CAAC,GAEnEI,IAAoBJ,EAAa,MAAM,mBACvCK,IAAiBP,EAAgB,MAAM,gBAAgB;AAE7D,SAAIA,EAAgB,aAAaE,EAAa,aAAa,CAACI,IACnD,EAAE,WAAW,IAAM,eAAAF,EAAA,IAGrB;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,mBAAAE,GAAmB,gBAAAC,EAAA;AAAA,IAC3B,QAAQ;AAAA,MACN,YAAYP,EAAgB,cAAcE,EAAa;AAAA,MACvD,WAAW;AAAA,IAAA;AAAA,IAEb,eAAAE;AAAA,EAAA;AAEJ;"}
|
package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as u } from "react-i18next";
|
|
3
3
|
import { WageType as C } from "../../shared/useContractorPayForm/contractorPaySchema.js";
|
|
4
|
-
import "
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { useI18n as E } from "../../../../../i18n/I18n.js";
|
|
4
|
+
import { Loading as y } from "../../../../Common/Loading/Loading.js";
|
|
5
|
+
import { BaseBoundaries as h, BaseLayout as f } from "../../../../Base/Base.js";
|
|
6
|
+
import { useComponentContext as g } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
7
|
+
import { useI18n as T } from "../../../../../i18n/I18n.js";
|
|
8
|
+
import { componentEvents as E } from "../../../../../shared/constants.js";
|
|
10
9
|
import { useContractorCompensationSummary as L } from "../../shared/useContractorCompensationSummary/useContractorCompensationSummary.js";
|
|
11
|
-
function
|
|
10
|
+
function _({ LoaderComponent: n, ...i }) {
|
|
12
11
|
return /* @__PURE__ */ o(
|
|
13
|
-
|
|
12
|
+
h,
|
|
14
13
|
{
|
|
15
14
|
componentName: "Contractor.Management.Compensation",
|
|
16
15
|
LoaderComponent: n,
|
|
@@ -23,36 +22,36 @@ function b({
|
|
|
23
22
|
onEvent: i,
|
|
24
23
|
LoaderComponent: l
|
|
25
24
|
}) {
|
|
26
|
-
|
|
27
|
-
const { t } = u("Contractor.Management.Compensation"), r =
|
|
25
|
+
T("Contractor.Management.Compensation");
|
|
26
|
+
const { t } = u("Contractor.Management.Compensation"), r = g(), a = L({ contractorId: n }), s = a.isLoading, e = a.isLoading ? void 0 : a.data.contractor, m = e?.wageType === C.Hourly, c = /* @__PURE__ */ o("span", { "aria-label": t("emptyPlaceholder"), children: "–" }), p = e ? [
|
|
28
27
|
{
|
|
29
28
|
term: t("typeLabel"),
|
|
30
|
-
description: e.wageType ? t(
|
|
29
|
+
description: e.wageType ? t(m ? "hourlyLabel" : "fixedLabel") : c
|
|
31
30
|
},
|
|
32
|
-
...
|
|
31
|
+
...m ? [
|
|
33
32
|
{
|
|
34
33
|
term: t("wageLabel"),
|
|
35
34
|
description: e.hourlyRate ? t("hourlyRateValue", { rate: e.hourlyRate }) : c
|
|
36
35
|
}
|
|
37
36
|
] : []
|
|
38
37
|
] : [], d = () => {
|
|
39
|
-
i(
|
|
38
|
+
i(E.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_REQUESTED, { contractorId: n });
|
|
40
39
|
};
|
|
41
|
-
return /* @__PURE__ */ o(
|
|
40
|
+
return /* @__PURE__ */ o(f, { error: a.errorHandling.errors, LoaderComponent: l, children: /* @__PURE__ */ o(
|
|
42
41
|
r.Box,
|
|
43
42
|
{
|
|
44
43
|
header: /* @__PURE__ */ o(
|
|
45
44
|
r.BoxHeader,
|
|
46
45
|
{
|
|
47
46
|
title: t("title"),
|
|
48
|
-
action: /* @__PURE__ */ o(r.Button, { variant: "secondary", onClick: d, isDisabled:
|
|
47
|
+
action: /* @__PURE__ */ o(r.Button, { variant: "secondary", onClick: d, isDisabled: s, children: t("editCta") })
|
|
49
48
|
}
|
|
50
49
|
),
|
|
51
|
-
children:
|
|
50
|
+
children: s ? /* @__PURE__ */ o(y, {}) : e ? /* @__PURE__ */ o(r.DescriptionList, { items: p }) : null
|
|
52
51
|
}
|
|
53
52
|
) });
|
|
54
53
|
}
|
|
55
54
|
export {
|
|
56
|
-
|
|
55
|
+
_ as CompensationCard
|
|
57
56
|
};
|
|
58
57
|
//# sourceMappingURL=CompensationCard.js.map
|
package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompensationCard.js","sources":["../../../../../../src/components/Contractor/Compensation/management/CompensationCard/CompensationCard.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorCompensationSummary } from '../../shared/useContractorCompensationSummary'\nimport { WageType } from '../../shared/useContractorPayForm'\nimport { Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\n\n/**\n * Props for {@link CompensationCard}.\n *\n * @public\n */\nexport interface CompensationCardProps {\n /** The associated contractor identifier. */\n contractorId: string\n /** Event handler fired when the user requests to edit compensation. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Read-only card showing a contractor's compensation type and rate with an Edit action.\n *\n * @remarks\n * Standalone card that fetches its own data. Emits an event when the user\n * clicks Edit so the parent can switch to the edit form. The card does not\n * render success or error alerts itself — alert presentation is the\n * surrounding surface's responsibility.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/management/compensation/editRequested` | Fired when the user clicks the Edit button | `{ contractorId: string }` |\n *\n * @param props - See {@link CompensationCardProps}.\n * @returns The contractor compensation card.\n * @public\n */\nexport function CompensationCard({ LoaderComponent, ...props }: CompensationCardProps) {\n return (\n <BaseBoundaries\n componentName=\"Contractor.Management.Compensation\"\n LoaderComponent={LoaderComponent}\n >\n <CompensationCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction CompensationCardContent({\n contractorId,\n onEvent,\n LoaderComponent,\n}: CompensationCardProps) {\n useI18n('Contractor.Management.Compensation')\n const { t } = useTranslation('Contractor.Management.Compensation')\n const Components = useComponentContext()\n\n const summary = useContractorCompensationSummary({ contractorId })\n\n const isLoading = summary.isLoading\n const contractor = summary.isLoading ? undefined : summary.data.contractor\n const isHourly = contractor?.wageType === WageType.Hourly\n\n const emptyPlaceholder = <span aria-label={t('emptyPlaceholder')}>–</span>\n const compensationItems = contractor\n ? [\n {\n term: t('typeLabel'),\n description: contractor.wageType\n ? t(isHourly ? 'hourlyLabel' : 'fixedLabel')\n : emptyPlaceholder,\n },\n ...(isHourly\n ? [\n {\n term: t('wageLabel'),\n description: contractor.hourlyRate\n ? t('hourlyRateValue', { rate: contractor.hourlyRate })\n : emptyPlaceholder,\n },\n ]\n : []),\n ]\n : []\n\n const handleEdit = () => {\n onEvent(componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_REQUESTED, { contractorId })\n }\n\n return (\n <BaseLayout error={summary.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('title')}\n action={\n <Components.Button variant=\"secondary\" onClick={handleEdit} isDisabled={isLoading}>\n {t('editCta')}\n </Components.Button>\n }\n />\n }\n >\n {isLoading ? (\n <Loading />\n ) : contractor ? (\n <Components.DescriptionList items={compensationItems} />\n ) : null}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["CompensationCard","LoaderComponent","props","jsx","BaseBoundaries","CompensationCardContent","contractorId","onEvent","useI18n","useTranslation","Components","useComponentContext","summary","useContractorCompensationSummary","isLoading","contractor","isHourly","WageType","emptyPlaceholder","compensationItems","handleEdit","componentEvents","BaseLayout","Loading"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CompensationCard.js","sources":["../../../../../../src/components/Contractor/Compensation/management/CompensationCard/CompensationCard.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorCompensationSummary } from '../../shared/useContractorCompensationSummary'\nimport { WageType } from '../../shared/useContractorPayForm'\nimport { Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\n\n/**\n * Props for {@link CompensationCard}.\n *\n * @public\n */\nexport interface CompensationCardProps {\n /** The associated contractor identifier. */\n contractorId: string\n /** Event handler fired when the user requests to edit compensation. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Read-only card showing a contractor's compensation type and rate with an Edit action.\n *\n * @remarks\n * Standalone card that fetches its own data. Emits an event when the user\n * clicks Edit so the parent can switch to the edit form. The card does not\n * render success or error alerts itself — alert presentation is the\n * surrounding surface's responsibility.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/management/compensation/editRequested` | Fired when the user clicks the Edit button | `{ contractorId: string }` |\n *\n * @param props - See {@link CompensationCardProps}.\n * @returns The contractor compensation card.\n * @public\n */\nexport function CompensationCard({ LoaderComponent, ...props }: CompensationCardProps) {\n return (\n <BaseBoundaries\n componentName=\"Contractor.Management.Compensation\"\n LoaderComponent={LoaderComponent}\n >\n <CompensationCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction CompensationCardContent({\n contractorId,\n onEvent,\n LoaderComponent,\n}: CompensationCardProps) {\n useI18n('Contractor.Management.Compensation')\n const { t } = useTranslation('Contractor.Management.Compensation')\n const Components = useComponentContext()\n\n const summary = useContractorCompensationSummary({ contractorId })\n\n const isLoading = summary.isLoading\n const contractor = summary.isLoading ? undefined : summary.data.contractor\n const isHourly = contractor?.wageType === WageType.Hourly\n\n const emptyPlaceholder = <span aria-label={t('emptyPlaceholder')}>–</span>\n const compensationItems = contractor\n ? [\n {\n term: t('typeLabel'),\n description: contractor.wageType\n ? t(isHourly ? 'hourlyLabel' : 'fixedLabel')\n : emptyPlaceholder,\n },\n ...(isHourly\n ? [\n {\n term: t('wageLabel'),\n description: contractor.hourlyRate\n ? t('hourlyRateValue', { rate: contractor.hourlyRate })\n : emptyPlaceholder,\n },\n ]\n : []),\n ]\n : []\n\n const handleEdit = () => {\n onEvent(componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_REQUESTED, { contractorId })\n }\n\n return (\n <BaseLayout error={summary.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n header={\n <Components.BoxHeader\n title={t('title')}\n action={\n <Components.Button variant=\"secondary\" onClick={handleEdit} isDisabled={isLoading}>\n {t('editCta')}\n </Components.Button>\n }\n />\n }\n >\n {isLoading ? (\n <Loading />\n ) : contractor ? (\n <Components.DescriptionList items={compensationItems} />\n ) : null}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["CompensationCard","LoaderComponent","props","jsx","BaseBoundaries","CompensationCardContent","contractorId","onEvent","useI18n","useTranslation","Components","useComponentContext","summary","useContractorCompensationSummary","isLoading","contractor","isHourly","WageType","emptyPlaceholder","compensationItems","handleEdit","componentEvents","BaseLayout","Loading"],"mappings":";;;;;;;;;AA2CO,SAASA,EAAiB,EAAE,iBAAAC,GAAiB,GAAGC,KAAgC;AACrF,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,iBAAAH;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAwB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG5E;AAEA,SAASG,EAAwB;AAAA,EAC/B,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAN;AACF,GAA0B;AACxB,EAAAO,EAAQ,oCAAoC;AAC5C,QAAM,EAAE,EAAA,IAAMC,EAAe,oCAAoC,GAC3DC,IAAaC,EAAA,GAEbC,IAAUC,EAAiC,EAAE,cAAAP,GAAc,GAE3DQ,IAAYF,EAAQ,WACpBG,IAAaH,EAAQ,YAAY,SAAYA,EAAQ,KAAK,YAC1DI,IAAWD,GAAY,aAAaE,EAAS,QAE7CC,IAAmB,gBAAAf,EAAC,QAAA,EAAK,cAAY,EAAE,kBAAkB,GAAG,UAAA,KAAC,GAC7DgB,IAAoBJ,IACtB;AAAA,IACE;AAAA,MACE,MAAM,EAAE,WAAW;AAAA,MACnB,aAAaA,EAAW,WACpB,EAAEC,IAAW,gBAAgB,YAAY,IACzCE;AAAA,IAAA;AAAA,IAEN,GAAIF,IACA;AAAA,MACE;AAAA,QACE,MAAM,EAAE,WAAW;AAAA,QACnB,aAAaD,EAAW,aACpB,EAAE,mBAAmB,EAAE,MAAMA,EAAW,WAAA,CAAY,IACpDG;AAAA,MAAA;AAAA,IACN,IAEF,CAAA;AAAA,EAAC,IAEP,CAAA,GAEEE,IAAa,MAAM;AACvB,IAAAb,EAAQc,EAAgB,mDAAmD,EAAE,cAAAf,EAAA,CAAc;AAAA,EAC7F;AAEA,2BACGgB,GAAA,EAAW,OAAOV,EAAQ,cAAc,QAAQ,iBAAAX,GAC/C,UAAA,gBAAAE;AAAA,IAACO,EAAW;AAAA,IAAX;AAAA,MACC,QACE,gBAAAP;AAAA,QAACO,EAAW;AAAA,QAAX;AAAA,UACC,OAAO,EAAE,OAAO;AAAA,UAChB,QACE,gBAAAP,EAACO,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAAY,YAAYN,GACrE,UAAA,EAAE,SAAS,EAAA,CACd;AAAA,QAAA;AAAA,MAAA;AAAA,MAKL,UAAAA,IACC,gBAAAX,EAACoB,GAAA,CAAA,CAAQ,IACPR,IACF,gBAAAZ,EAACO,EAAW,iBAAX,EAA2B,OAAOS,EAAA,CAAmB,IACpD;AAAA,IAAA;AAAA,EAAA,GAER;AAEJ;"}
|
|
@@ -6,15 +6,15 @@ function c({
|
|
|
6
6
|
const t = i(
|
|
7
7
|
{ contractorUuid: n },
|
|
8
8
|
{ staleTime: 1 / 0 }
|
|
9
|
-
),
|
|
10
|
-
return t.isLoading || !
|
|
9
|
+
), o = a([t]), r = t.data?.contractorShow;
|
|
10
|
+
return t.isLoading || !r ? { isLoading: !0, errorHandling: o } : {
|
|
11
11
|
isLoading: !1,
|
|
12
|
-
data: { contractor:
|
|
12
|
+
data: { contractor: r },
|
|
13
13
|
status: {
|
|
14
14
|
isFetching: t.isFetching,
|
|
15
15
|
isPending: !1
|
|
16
16
|
},
|
|
17
|
-
errorHandling:
|
|
17
|
+
errorHandling: o
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContractorCompensationSummary.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.tsx"],"sourcesContent":["import { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/** @internal */\nexport interface UseContractorCompensationSummaryParams {\n contractorId: string\n}\n\ntype UseContractorCompensationSummaryReady = BaseHookReady<\n { contractor: Contractor },\n { isFetching: boolean; isPending: boolean }\n>\n\n/** @internal */\nexport type UseContractorCompensationSummaryResult =\n HookLoadingResult | UseContractorCompensationSummaryReady\n\n/** @internal */\nexport function useContractorCompensationSummary({\n contractorId,\n}: UseContractorCompensationSummaryParams): UseContractorCompensationSummaryResult {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n\n const errorHandling = composeErrorHandler([contractorQuery])\n\n const contractor = contractorQuery.data?.
|
|
1
|
+
{"version":3,"file":"useContractorCompensationSummary.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.tsx"],"sourcesContent":["import { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type { BaseHookReady, HookLoadingResult } from '@/partner-hook-utils/types'\n\n/** @internal */\nexport interface UseContractorCompensationSummaryParams {\n contractorId: string\n}\n\ntype UseContractorCompensationSummaryReady = BaseHookReady<\n { contractor: Contractor },\n { isFetching: boolean; isPending: boolean }\n>\n\n/** @internal */\nexport type UseContractorCompensationSummaryResult =\n HookLoadingResult | UseContractorCompensationSummaryReady\n\n/** @internal */\nexport function useContractorCompensationSummary({\n contractorId,\n}: UseContractorCompensationSummaryParams): UseContractorCompensationSummaryResult {\n const contractorQuery = useContractorsGet(\n { contractorUuid: contractorId },\n { staleTime: Infinity },\n )\n\n const errorHandling = composeErrorHandler([contractorQuery])\n\n const contractor = contractorQuery.data?.contractorShow\n\n if (contractorQuery.isLoading || !contractor) {\n return { isLoading: true, errorHandling }\n }\n\n return {\n isLoading: false,\n data: { contractor },\n status: {\n isFetching: contractorQuery.isFetching,\n isPending: false,\n },\n errorHandling,\n }\n}\n"],"names":["useContractorCompensationSummary","contractorId","contractorQuery","useContractorsGet","errorHandling","composeErrorHandler","contractor"],"mappings":";;AAoBO,SAASA,EAAiC;AAAA,EAC/C,cAAAC;AACF,GAAmF;AACjF,QAAMC,IAAkBC;AAAA,IACtB,EAAE,gBAAgBF,EAAA;AAAA,IAClB,EAAE,WAAW,MAAA;AAAA,EAAS,GAGlBG,IAAgBC,EAAoB,CAACH,CAAe,CAAC,GAErDI,IAAaJ,EAAgB,MAAM;AAEzC,SAAIA,EAAgB,aAAa,CAACI,IACzB,EAAE,WAAW,IAAM,eAAAF,EAAA,IAGrB;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,YAAAE,EAAA;AAAA,IACR,QAAQ;AAAA,MACN,YAAYJ,EAAgB;AAAA,MAC5B,WAAW;AAAA,IAAA;AAAA,IAEb,eAAAE;AAAA,EAAA;AAEJ;"}
|
package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js
CHANGED
|
@@ -24,7 +24,7 @@ function st({
|
|
|
24
24
|
validationMode: n = "onSubmit",
|
|
25
25
|
shouldFocusError: a = !0
|
|
26
26
|
}) {
|
|
27
|
-
const s = D({ contractorUuid: e }), t = s.data?.
|
|
27
|
+
const s = D({ contractorUuid: e }), t = s.data?.contractorShow, [u, w] = f(() => k(), []), c = f(
|
|
28
28
|
() => ({
|
|
29
29
|
wageType: t?.wageType ?? o.Fixed,
|
|
30
30
|
hourlyRate: t?.hourlyRate ? Number(t.hourlyRate) : 0
|
|
@@ -41,7 +41,7 @@ function st({
|
|
|
41
41
|
baseSubmitHandler: F,
|
|
42
42
|
error: T,
|
|
43
43
|
setError: R
|
|
44
|
-
} = A("ContractorPayForm"), d = z([s], { submitError: T, setSubmitError: R }),
|
|
44
|
+
} = A("ContractorPayForm"), d = z([s], { submitError: T, setSubmitError: R }), S = q(w, r.control), H = K(S), C = async () => {
|
|
45
45
|
if (!t?.version)
|
|
46
46
|
throw new g("Cannot submit pay form before contractor data is loaded");
|
|
47
47
|
const M = t.version, P = t.type;
|
|
@@ -83,7 +83,7 @@ function st({
|
|
|
83
83
|
WageType: O,
|
|
84
84
|
HourlyRate: L
|
|
85
85
|
},
|
|
86
|
-
fieldsMetadata:
|
|
86
|
+
fieldsMetadata: H,
|
|
87
87
|
hookFormInternals: v,
|
|
88
88
|
getFormSubmissionValues: G(r, u)
|
|
89
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContractorPayForm.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useMemo } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport {\n createContractorPaySchema,\n WageType,\n type ContractorPayFormData,\n type ContractorPayFormOutputs,\n} from './contractorPaySchema'\nimport type { WageTypeFieldProps, HourlyRateFieldProps } from './fields'\nimport { WageTypeField, HourlyRateField } 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 FieldMetadata,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\n\n/**\n * Props for {@link useContractorPayForm}.\n *\n * @public\n */\nexport interface UseContractorPayFormProps {\n /** Contractor whose compensation is being edited. */\n contractorId: string\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useContractorPayForm} on `form.Fields`.\n *\n * @public\n */\nexport interface ContractorPayFormFields {\n /** Bound to `wageType`. Selects whether the contractor is paid Fixed or Hourly. */\n WageType: ComponentType<WageTypeFieldProps>\n /** Bound to `hourlyRate`. Required and rendered only when `wageType` is `Hourly`. */\n HourlyRate: ComponentType<HourlyRateFieldProps>\n}\n\n/**\n * Ready-state return value of {@link useContractorPayForm}.\n *\n * @public\n */\nexport interface UseContractorPayFormReady extends BaseFormHookReady<\n ContractorPayFieldsMetadata,\n ContractorPayFormData,\n ContractorPayFormFields\n> {\n /** The full contractor entity, loaded from the API. */\n data: { contractor: Contractor }\n /**\n * `isPending` reflects the in-flight update mutation; `mode` is always\n * `'update'`. `isHourly` reflects the currently selected wage type so a\n * composing component can decide whether to render the hourly-rate field.\n */\n status: { isPending: boolean; mode: 'update'; isHourly: boolean }\n /** Submit the form. Returns the updated contractor on success or `undefined` on validation/mutation failure. */\n actions: {\n onSubmit: () => Promise<HookSubmitResult<Contractor> | undefined>\n }\n}\n\n/** @internal */\nfunction buildContractorPayFieldsMetadata(\n base: Record<keyof ContractorPayFormData, FieldMetadata>,\n) {\n const wageTypeOptions = [WageType.Fixed, WageType.Hourly].map(value => ({ value, label: value }))\n return {\n wageType: withOptions(base.wageType, wageTypeOptions, [WageType.Fixed, WageType.Hourly]),\n hourlyRate: base.hourlyRate,\n } satisfies FieldsMetadata\n}\n\n/**\n * Headless React Hook Form hook for editing a contractor's compensation.\n *\n * @remarks\n * Owns `wageType` (Fixed or Hourly) and, when Hourly, `hourlyRate`. Always\n * operates in update mode — a contractor's wage type is set at creation. Every\n * submit echoes the contractor's current `type` back to the API alongside the\n * changed fields: the update endpoint's wire schema defaults an omitted `type`\n * to `\"Individual\"`, so a narrower payload would silently misrepresent a\n * Business contractor.\n *\n * @param props - See {@link UseContractorPayFormProps}.\n * @returns A loading-state result while data loads, or a {@link UseContractorPayFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import { useContractorPayForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function PayScreen({ contractorId }: { contractorId: string }) {\n * const pay = useContractorPayForm({ contractorId })\n *\n * if (pay.isLoading) return null\n * const { Fields } = pay.form\n *\n * return (\n * <SDKFormProvider formHookResult={pay}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void pay.actions.onSubmit()\n * }}\n * >\n * <Fields.WageType label=\"Compensation type\" />\n * <Fields.HourlyRate label=\"Hourly rate\" />\n * <button type=\"submit\" disabled={pay.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useContractorPayForm({\n contractorId,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseContractorPayFormProps): HookLoadingResult | UseContractorPayFormReady {\n const contractorQuery = useContractorsGet({ contractorUuid: contractorId })\n const contractor = contractorQuery.data?.contractor\n\n const [schema, metadataConfig] = useMemo(() => createContractorPaySchema(), [])\n\n const resolvedDefaults: ContractorPayFormData = useMemo(\n () => ({\n wageType: contractor?.wageType ?? WageType.Fixed,\n hourlyRate: contractor?.hourlyRate ? Number(contractor.hourlyRate) : 0,\n }),\n [contractor],\n )\n\n const formMethods = useForm<ContractorPayFormData, unknown, ContractorPayFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const watchedWageType = useWatch({ control: formMethods.control, name: 'wageType' })\n const isHourly = watchedWageType === WageType.Hourly\n\n const updateMutation = useContractorsUpdateMutation()\n const isPending = updateMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorPayForm')\n\n const errorHandling = composeErrorHandler([contractorQuery], { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = buildContractorPayFieldsMetadata(baseMetadata)\n\n const onSubmit = async (): Promise<HookSubmitResult<Contractor> | undefined> => {\n if (!contractor?.version) {\n throw new SDKInternalError('Cannot submit pay form before contractor data is loaded')\n }\n const contractorVersion = contractor.version\n const contractorType = contractor.type\n let submitResult: HookSubmitResult<Contractor> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorPayFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const result = await updateMutation.mutateAsync({\n request: {\n contractorUuid: contractorId,\n contractorUpdateRequestBody: {\n version: contractorVersion,\n type: contractorType,\n wageType: payload.wageType,\n hourlyRate:\n payload.wageType === WageType.Hourly ? String(payload.hourlyRate) : undefined,\n },\n },\n })\n\n if (!result.contractor) {\n throw new SDKInternalError('Contractor pay update failed')\n }\n\n submitResult = { mode: 'update' as const, data: result.contractor }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (contractorQuery.isLoading || !contractor) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { contractor },\n status: { isPending, mode: 'update' as const, isHourly },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n WageType: WageTypeField,\n HourlyRate: HourlyRateField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link useContractorPayForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseContractorPayFormResult = HookLoadingResult | UseContractorPayFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link useContractorPayForm}.\n *\n * @public\n */\nexport type ContractorPayFieldsMetadata = ReturnType<typeof buildContractorPayFieldsMetadata>\n"],"names":["buildContractorPayFieldsMetadata","base","wageTypeOptions","WageType","value","withOptions","useContractorPayForm","contractorId","validationMode","shouldFocusError","contractorQuery","useContractorsGet","contractor","schema","metadataConfig","useMemo","createContractorPaySchema","resolvedDefaults","formMethods","useForm","zodResolver","isHourly","useWatch","updateMutation","useContractorsUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","onSubmit","SDKInternalError","contractorVersion","contractorType","submitResult","resolve","data","payload","result","hookFormInternals","useHookFormInternals","WageTypeField","HourlyRateField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useContractorPayForm.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useMemo } from 'react'\nimport { useForm, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useContractorsGet } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { useContractorsUpdateMutation } from '@gusto/embedded-api/react-query/contractorsUpdate'\nimport {\n createContractorPaySchema,\n WageType,\n type ContractorPayFormData,\n type ContractorPayFormOutputs,\n} from './contractorPaySchema'\nimport type { WageTypeFieldProps, HourlyRateFieldProps } from './fields'\nimport { WageTypeField, HourlyRateField } 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 FieldMetadata,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\n\n/**\n * Props for {@link useContractorPayForm}.\n *\n * @public\n */\nexport interface UseContractorPayFormProps {\n /** Contractor whose compensation is being edited. */\n contractorId: string\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useContractorPayForm} on `form.Fields`.\n *\n * @public\n */\nexport interface ContractorPayFormFields {\n /** Bound to `wageType`. Selects whether the contractor is paid Fixed or Hourly. */\n WageType: ComponentType<WageTypeFieldProps>\n /** Bound to `hourlyRate`. Required and rendered only when `wageType` is `Hourly`. */\n HourlyRate: ComponentType<HourlyRateFieldProps>\n}\n\n/**\n * Ready-state return value of {@link useContractorPayForm}.\n *\n * @public\n */\nexport interface UseContractorPayFormReady extends BaseFormHookReady<\n ContractorPayFieldsMetadata,\n ContractorPayFormData,\n ContractorPayFormFields\n> {\n /** The full contractor entity, loaded from the API. */\n data: { contractor: Contractor }\n /**\n * `isPending` reflects the in-flight update mutation; `mode` is always\n * `'update'`. `isHourly` reflects the currently selected wage type so a\n * composing component can decide whether to render the hourly-rate field.\n */\n status: { isPending: boolean; mode: 'update'; isHourly: boolean }\n /** Submit the form. Returns the updated contractor on success or `undefined` on validation/mutation failure. */\n actions: {\n onSubmit: () => Promise<HookSubmitResult<Contractor> | undefined>\n }\n}\n\n/** @internal */\nfunction buildContractorPayFieldsMetadata(\n base: Record<keyof ContractorPayFormData, FieldMetadata>,\n) {\n const wageTypeOptions = [WageType.Fixed, WageType.Hourly].map(value => ({ value, label: value }))\n return {\n wageType: withOptions(base.wageType, wageTypeOptions, [WageType.Fixed, WageType.Hourly]),\n hourlyRate: base.hourlyRate,\n } satisfies FieldsMetadata\n}\n\n/**\n * Headless React Hook Form hook for editing a contractor's compensation.\n *\n * @remarks\n * Owns `wageType` (Fixed or Hourly) and, when Hourly, `hourlyRate`. Always\n * operates in update mode — a contractor's wage type is set at creation. Every\n * submit echoes the contractor's current `type` back to the API alongside the\n * changed fields: the update endpoint's wire schema defaults an omitted `type`\n * to `\"Individual\"`, so a narrower payload would silently misrepresent a\n * Business contractor.\n *\n * @param props - See {@link UseContractorPayFormProps}.\n * @returns A loading-state result while data loads, or a {@link UseContractorPayFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import { useContractorPayForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function PayScreen({ contractorId }: { contractorId: string }) {\n * const pay = useContractorPayForm({ contractorId })\n *\n * if (pay.isLoading) return null\n * const { Fields } = pay.form\n *\n * return (\n * <SDKFormProvider formHookResult={pay}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void pay.actions.onSubmit()\n * }}\n * >\n * <Fields.WageType label=\"Compensation type\" />\n * <Fields.HourlyRate label=\"Hourly rate\" />\n * <button type=\"submit\" disabled={pay.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useContractorPayForm({\n contractorId,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseContractorPayFormProps): HookLoadingResult | UseContractorPayFormReady {\n const contractorQuery = useContractorsGet({ contractorUuid: contractorId })\n const contractor = contractorQuery.data?.contractorShow\n\n const [schema, metadataConfig] = useMemo(() => createContractorPaySchema(), [])\n\n const resolvedDefaults: ContractorPayFormData = useMemo(\n () => ({\n wageType: contractor?.wageType ?? WageType.Fixed,\n hourlyRate: contractor?.hourlyRate ? Number(contractor.hourlyRate) : 0,\n }),\n [contractor],\n )\n\n const formMethods = useForm<ContractorPayFormData, unknown, ContractorPayFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const watchedWageType = useWatch({ control: formMethods.control, name: 'wageType' })\n const isHourly = watchedWageType === WageType.Hourly\n\n const updateMutation = useContractorsUpdateMutation()\n const isPending = updateMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('ContractorPayForm')\n\n const errorHandling = composeErrorHandler([contractorQuery], { submitError, setSubmitError })\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = buildContractorPayFieldsMetadata(baseMetadata)\n\n const onSubmit = async (): Promise<HookSubmitResult<Contractor> | undefined> => {\n if (!contractor?.version) {\n throw new SDKInternalError('Cannot submit pay form before contractor data is loaded')\n }\n const contractorVersion = contractor.version\n const contractorType = contractor.type\n let submitResult: HookSubmitResult<Contractor> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: ContractorPayFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const result = await updateMutation.mutateAsync({\n request: {\n contractorUuid: contractorId,\n contractorUpdateRequestBody: {\n version: contractorVersion,\n type: contractorType,\n wageType: payload.wageType,\n hourlyRate:\n payload.wageType === WageType.Hourly ? String(payload.hourlyRate) : undefined,\n },\n },\n })\n\n if (!result.contractor) {\n throw new SDKInternalError('Contractor pay update failed')\n }\n\n submitResult = { mode: 'update' as const, data: result.contractor }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (contractorQuery.isLoading || !contractor) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { contractor },\n status: { isPending, mode: 'update' as const, isHourly },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n WageType: WageTypeField,\n HourlyRate: HourlyRateField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link useContractorPayForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseContractorPayFormResult = HookLoadingResult | UseContractorPayFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link useContractorPayForm}.\n *\n * @public\n */\nexport type ContractorPayFieldsMetadata = ReturnType<typeof buildContractorPayFieldsMetadata>\n"],"names":["buildContractorPayFieldsMetadata","base","wageTypeOptions","WageType","value","withOptions","useContractorPayForm","contractorId","validationMode","shouldFocusError","contractorQuery","useContractorsGet","contractor","schema","metadataConfig","useMemo","createContractorPaySchema","resolvedDefaults","formMethods","useForm","zodResolver","isHourly","useWatch","updateMutation","useContractorsUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","onSubmit","SDKInternalError","contractorVersion","contractorType","submitResult","resolve","data","payload","result","hookFormInternals","useHookFormInternals","WageTypeField","HourlyRateField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -41,10 +41,10 @@ function $({
|
|
|
41
41
|
baseSubmitHandler: r,
|
|
42
42
|
error: b,
|
|
43
43
|
setError: E
|
|
44
|
-
} = q("ContractorList"), f = F([d], { submitError: b, setSubmitError: E }), S = m.isPending || g.isPending || p.isPending || h.isPending, { data: o, isFetching: c } = d, O = C(() => (o?.
|
|
44
|
+
} = q("ContractorList"), f = F([d], { submitError: b, setSubmitError: E }), S = m.isPending || g.isPending || p.isPending || h.isPending, { data: o, isFetching: c } = d, O = C(() => (o?.showContractors ?? []).map((t) => ({
|
|
45
45
|
...t,
|
|
46
46
|
allowedActions: H(t, n)
|
|
47
|
-
})), [o?.
|
|
47
|
+
})), [o?.showContractors, n]), A = o?.httpMeta.response.headers ? l(o.httpMeta.response.headers, c) : {
|
|
48
48
|
handleNextPage: () => {
|
|
49
49
|
},
|
|
50
50
|
handleFirstPage: () => {
|
|
@@ -65,7 +65,7 @@ function $({
|
|
|
65
65
|
request: { contractorUuid: s }
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
|
-
},
|
|
68
|
+
}, w = async (t) => {
|
|
69
69
|
let s;
|
|
70
70
|
return await r(t, async (N) => {
|
|
71
71
|
s = (await g.mutateAsync({
|
|
@@ -77,13 +77,13 @@ function $({
|
|
|
77
77
|
}
|
|
78
78
|
})).contractorOnboardingStatus;
|
|
79
79
|
}), s;
|
|
80
|
-
},
|
|
80
|
+
}, L = async (t) => {
|
|
81
81
|
await r(t, async (s) => {
|
|
82
82
|
await p.mutateAsync({
|
|
83
83
|
request: { contractorUuid: s }
|
|
84
84
|
});
|
|
85
85
|
});
|
|
86
|
-
},
|
|
86
|
+
}, _ = async (t) => {
|
|
87
87
|
await r(t, async (s) => {
|
|
88
88
|
await h.mutateAsync({
|
|
89
89
|
request: { contractorUuid: s }
|
|
@@ -100,7 +100,7 @@ function $({
|
|
|
100
100
|
},
|
|
101
101
|
pagination: A,
|
|
102
102
|
status: { isFetching: c, isPending: S },
|
|
103
|
-
actions: { onDelete: D, onCancelSelfOnboarding:
|
|
103
|
+
actions: { onDelete: D, onCancelSelfOnboarding: w, onCancelDismissal: L, onCancelRehire: _ },
|
|
104
104
|
errorHandling: f
|
|
105
105
|
};
|
|
106
106
|
}
|