@gusto/embedded-react-sdk 0.55.5 → 0.55.6
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 +24 -0
- package/dist/components/Common/DataView/DataTable/DataTable.js +44 -41
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/RequirementsList/RequirementsList.js +21 -12
- package/dist/components/Common/RequirementsList/RequirementsList.js.map +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +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/useInviteSignatory.js +3 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.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/context.js +3 -6
- package/dist/components/Company/BankAccount/BankAccountForm/context.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/useFederalTaxes.js +8 -11
- package/dist/components/Company/FederalTaxes/useFederalTaxes.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/Locations/LocationForm/useLocationForm.js +3 -6
- package/dist/components/Company/Locations/LocationForm/useLocationForm.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/PaySchedule.js +21 -15
- package/dist/components/Company/PaySchedule/PaySchedule.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/context.js +3 -6
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.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/Compensation/management/CompensationEditForm.js +20 -17
- package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.d.ts +1 -0
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +21 -17
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.d.ts +7 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/index.d.ts +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +112 -100
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +46 -40
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +10 -9
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js +22 -19
- package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +34 -30
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +7 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +32 -32
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js +1 -0
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +11 -10
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.js +7 -6
- package/dist/components/Employee/Deductions/onboarding/DeductionsList/DeductionsList.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/PaymentMethod/onboarding/ListView.js +20 -19
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +12 -10
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +13 -12
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.module.scss.js +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +200 -195
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +93 -85
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +50 -0
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +52 -0
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -0
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +52 -50
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +259 -255
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +278 -0
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/index.d.ts +1 -0
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +108 -0
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.test.d.ts +1 -0
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +95 -0
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.test.d.ts +1 -0
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +126 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +1 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +191 -183
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +117 -107
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +39 -0
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +46 -0
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -0
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +40 -34
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +72 -87
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.d.ts +17 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +55 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +13 -0
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +58 -0
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -0
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -0
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -0
- package/dist/components/Payroll/helpers.d.ts +15 -0
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +12 -15
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +35 -35
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.module.scss.js +4 -4
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/hooks/usePollingTask/usePollingTask.d.ts +101 -0
- package/dist/hooks/usePollingTask/usePollingTask.js +50 -0
- package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -0
- package/dist/hooks/usePollingTask/usePollingTask.test.d.ts +1 -0
- package/dist/i18n/I18n.js +147 -30
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorList.json.js +14 -12
- package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Management.Compensation.json.js +6 -6
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js +8 -8
- package/dist/i18n/en/Contractor.Profile.json.js +5 -5
- package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js +7 -5
- package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +8 -8
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +16 -16
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +98 -0
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +1 -0
- package/dist/i18n/en/common.json.js +1 -1
- package/dist/i18n/es_US/Company.Addresses.json.js +8 -0
- package/dist/i18n/es_US/Company.Addresses.json.js.map +1 -0
- package/dist/i18n/es_US/Company.AssignSignatory.json.js +22 -0
- package/dist/i18n/es_US/Company.AssignSignatory.json.js.map +1 -0
- package/dist/i18n/es_US/Company.BankAccount.json.js +20 -0
- package/dist/i18n/es_US/Company.BankAccount.json.js.map +1 -0
- package/dist/i18n/es_US/Company.DocumentList.json.js +28 -0
- package/dist/i18n/es_US/Company.DocumentList.json.js.map +1 -0
- package/dist/i18n/es_US/Company.FederalTaxes.json.js +28 -0
- package/dist/i18n/es_US/Company.FederalTaxes.json.js.map +1 -0
- package/dist/i18n/es_US/Company.Industry.json.js +12 -0
- package/dist/i18n/es_US/Company.Industry.json.js.map +1 -0
- package/dist/i18n/es_US/Company.Locations.json.js +44 -0
- package/dist/i18n/es_US/Company.Locations.json.js.map +1 -0
- package/dist/i18n/es_US/Company.OnboardingOverview.json.js +24 -0
- package/dist/i18n/es_US/Company.OnboardingOverview.json.js.map +1 -0
- package/dist/i18n/es_US/Company.PaySchedule.json.js +36 -0
- package/dist/i18n/es_US/Company.PaySchedule.json.js.map +1 -0
- package/dist/i18n/es_US/Company.SignatureForm.json.js +20 -0
- package/dist/i18n/es_US/Company.SignatureForm.json.js.map +1 -0
- package/dist/i18n/es_US/Company.StateTaxes.json.js +12 -0
- package/dist/i18n/es_US/Company.StateTaxes.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.CreateTimeOffPolicy.json.js +18 -0
- package/dist/i18n/es_US/Company.TimeOff.CreateTimeOffPolicy.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.EmployeeTable.json.js +26 -0
- package/dist/i18n/es_US/Company.TimeOff.EmployeeTable.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.HolidayPolicy.json.js +26 -0
- package/dist/i18n/es_US/Company.TimeOff.HolidayPolicy.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.PolicyDetail.json.js +14 -0
- package/dist/i18n/es_US/Company.TimeOff.PolicyDetail.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.SelectEmployees.json.js +22 -0
- package/dist/i18n/es_US/Company.TimeOff.SelectEmployees.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.SelectPolicyType.json.js +26 -0
- package/dist/i18n/es_US/Company.TimeOff.SelectPolicyType.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicies.json.js +40 -0
- package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicies.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicyDetails.json.js +52 -0
- package/dist/i18n/es_US/Company.TimeOff.TimeOffPolicyDetails.json.js.map +1 -0
- package/dist/i18n/es_US/Company.TimeOff.TimeOffRequests.json.js +21 -0
- package/dist/i18n/es_US/Company.TimeOff.TimeOffRequests.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Address.json.js +22 -0
- package/dist/i18n/es_US/Contractor.Address.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.BankAccountFields.json.js +12 -0
- package/dist/i18n/es_US/Contractor.BankAccountFields.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.ContractorList.json.js +24 -0
- package/dist/i18n/es_US/Contractor.ContractorList.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Dashboard.json.js +14 -0
- package/dist/i18n/es_US/Contractor.Dashboard.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.DocumentsList.json.js +18 -0
- package/dist/i18n/es_US/Contractor.DocumentsList.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Landing.json.js +18 -0
- package/dist/i18n/es_US/Contractor.Landing.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Management.Address.json.js +14 -0
- package/dist/i18n/es_US/Contractor.Management.Address.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Management.Compensation.json.js +22 -0
- package/dist/i18n/es_US/Contractor.Management.Compensation.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Management.Documents.json.js +16 -0
- package/dist/i18n/es_US/Contractor.Management.Documents.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Management.PaymentMethod.json.js +24 -0
- package/dist/i18n/es_US/Contractor.Management.PaymentMethod.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Management.Profile.json.js +20 -0
- package/dist/i18n/es_US/Contractor.Management.Profile.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js +48 -0
- package/dist/i18n/es_US/Contractor.ManagementContractorList.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.NewHireReport.json.js +22 -0
- package/dist/i18n/es_US/Contractor.NewHireReport.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.OnboardingSummary.json.js +10 -0
- package/dist/i18n/es_US/Contractor.OnboardingSummary.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.PaymentMethod.json.js +20 -0
- package/dist/i18n/es_US/Contractor.PaymentMethod.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.CreateHistoricalPayment.json.js +34 -0
- package/dist/i18n/es_US/Contractor.Payments.CreateHistoricalPayment.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.CreatePayment.json.js +42 -0
- package/dist/i18n/es_US/Contractor.Payments.CreatePayment.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.HistoricalPaymentSummary.json.js +42 -0
- package/dist/i18n/es_US/Contractor.Payments.HistoricalPaymentSummary.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentHistory.json.js +26 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentHistory.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentStatement.json.js +22 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentStatement.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentSummary.json.js +54 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentSummary.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js +32 -0
- package/dist/i18n/es_US/Contractor.Payments.PaymentsList.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Profile.json.js +18 -0
- package/dist/i18n/es_US/Contractor.Profile.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.SelectContractors.json.js +18 -0
- package/dist/i18n/es_US/Contractor.SelectContractors.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.SignatureForm.json.js +34 -0
- package/dist/i18n/es_US/Contractor.SignatureForm.json.js.map +1 -0
- package/dist/i18n/es_US/Contractor.Submit.json.js +26 -0
- package/dist/i18n/es_US/Contractor.Submit.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.BankAccount.json.js +14 -0
- package/dist/i18n/es_US/Employee.BankAccount.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.BankFormBody.json.js +12 -0
- package/dist/i18n/es_US/Employee.BankFormBody.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Compensation.json.js +68 -0
- package/dist/i18n/es_US/Employee.Compensation.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Dashboard.json.js +12 -0
- package/dist/i18n/es_US/Employee.Dashboard.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Deductions.json.js +142 -0
- package/dist/i18n/es_US/Employee.Deductions.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.DeductionsForm.json.js +24 -0
- package/dist/i18n/es_US/Employee.DeductionsForm.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.DocumentManager.json.js +10 -0
- package/dist/i18n/es_US/Employee.DocumentManager.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.DocumentSigner.json.js +28 -0
- package/dist/i18n/es_US/Employee.DocumentSigner.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.EmployeeDocuments.json.js +10 -0
- package/dist/i18n/es_US/Employee.EmployeeDocuments.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.EmployeeList.json.js +30 -0
- package/dist/i18n/es_US/Employee.EmployeeList.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.EmploymentEligibility.json.js +22 -0
- package/dist/i18n/es_US/Employee.EmploymentEligibility.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.FederalTaxes.json.js +46 -0
- package/dist/i18n/es_US/Employee.FederalTaxes.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.FederalTaxesView.json.js +38 -0
- package/dist/i18n/es_US/Employee.FederalTaxesView.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.HomeAddress.json.js +24 -0
- package/dist/i18n/es_US/Employee.HomeAddress.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.I9SignatureForm.json.js +64 -0
- package/dist/i18n/es_US/Employee.I9SignatureForm.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Landing.json.js +16 -0
- package/dist/i18n/es_US/Employee.Landing.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.Compensation.json.js +66 -0
- package/dist/i18n/es_US/Employee.Management.Compensation.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.Deductions.json.js +26 -0
- package/dist/i18n/es_US/Employee.Management.Deductions.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.Documents.json.js +18 -0
- package/dist/i18n/es_US/Employee.Management.Documents.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.FederalTaxes.json.js +42 -0
- package/dist/i18n/es_US/Employee.Management.FederalTaxes.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.HomeAddress.json.js +56 -0
- package/dist/i18n/es_US/Employee.Management.HomeAddress.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.PaymentMethod.json.js +24 -0
- package/dist/i18n/es_US/Employee.Management.PaymentMethod.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.PaymentMethodBankForm.json.js +12 -0
- package/dist/i18n/es_US/Employee.Management.PaymentMethodBankForm.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.PaymentMethodSplitForm.json.js +22 -0
- package/dist/i18n/es_US/Employee.Management.PaymentMethodSplitForm.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.Paystubs.json.js +28 -0
- package/dist/i18n/es_US/Employee.Management.Paystubs.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.Profile.json.js +16 -0
- package/dist/i18n/es_US/Employee.Management.Profile.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.StateTaxes.json.js +16 -0
- package/dist/i18n/es_US/Employee.Management.StateTaxes.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Management.WorkAddress.json.js +52 -0
- package/dist/i18n/es_US/Employee.Management.WorkAddress.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.ManagementEmployeeList.json.js +26 -0
- package/dist/i18n/es_US/Employee.ManagementEmployeeList.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.OnboardingSummary.json.js +22 -0
- package/dist/i18n/es_US/Employee.OnboardingSummary.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.PaySchedules.json.js +12 -0
- package/dist/i18n/es_US/Employee.PaySchedules.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.PaymentMethod.json.js +68 -0
- package/dist/i18n/es_US/Employee.PaymentMethod.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Profile.json.js +32 -0
- package/dist/i18n/es_US/Employee.Profile.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.SplitPaycheck.json.js +26 -0
- package/dist/i18n/es_US/Employee.SplitPaycheck.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.SplitPaymentsFormBody.json.js +22 -0
- package/dist/i18n/es_US/Employee.SplitPaymentsFormBody.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.StateTaxes.json.js +14 -0
- package/dist/i18n/es_US/Employee.StateTaxes.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.StateTaxesView.json.js +12 -0
- package/dist/i18n/es_US/Employee.StateTaxesView.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Terminations.TerminateEmployee.json.js +18 -0
- package/dist/i18n/es_US/Employee.Terminations.TerminateEmployee.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Terminations.TerminationFlow.json.js +12 -0
- package/dist/i18n/es_US/Employee.Terminations.TerminationFlow.json.js.map +1 -0
- package/dist/i18n/es_US/Employee.Terminations.TerminationSummary.json.js +20 -0
- package/dist/i18n/es_US/Employee.Terminations.TerminationSummary.json.js.map +1 -0
- package/dist/i18n/es_US/InformationRequests.InformationRequestForm.json.js +20 -0
- package/dist/i18n/es_US/InformationRequests.InformationRequestForm.json.js.map +1 -0
- package/dist/i18n/es_US/InformationRequests.InformationRequestList.json.js +18 -0
- package/dist/i18n/es_US/InformationRequests.InformationRequestList.json.js.map +1 -0
- package/dist/i18n/es_US/InformationRequests.json.js +8 -0
- package/dist/i18n/es_US/InformationRequests.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.Common.json.js +8 -0
- package/dist/i18n/es_US/Payroll.Common.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.ConfirmWireDetailsBanner.json.js +14 -0
- package/dist/i18n/es_US/Payroll.ConfirmWireDetailsBanner.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.ConfirmWireDetailsForm.json.js +26 -0
- package/dist/i18n/es_US/Payroll.ConfirmWireDetailsForm.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.Dismissal.json.js +16 -0
- package/dist/i18n/es_US/Payroll.Dismissal.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.EmployeeSelection.json.js +8 -0
- package/dist/i18n/es_US/Payroll.EmployeeSelection.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.GrossUpModal.json.js +26 -0
- package/dist/i18n/es_US/Payroll.GrossUpModal.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.OffCycle.json.js +8 -0
- package/dist/i18n/es_US/Payroll.OffCycle.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js +16 -0
- package/dist/i18n/es_US/Payroll.OffCycleCreation.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.OffCycleDeductionsSetting.json.js +8 -0
- package/dist/i18n/es_US/Payroll.OffCycleDeductionsSetting.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js +14 -0
- package/dist/i18n/es_US/Payroll.OffCyclePayPeriodDateForm.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.OffCycleReasonSelection.json.js +12 -0
- package/dist/i18n/es_US/Payroll.OffCycleReasonSelection.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js +16 -0
- package/dist/i18n/es_US/Payroll.OffCycleTaxWithholding.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollBlocker.json.js +34 -0
- package/dist/i18n/es_US/Payroll.PayrollBlocker.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js +44 -0
- package/dist/i18n/es_US/Payroll.PayrollConfiguration.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js +66 -0
- package/dist/i18n/es_US/Payroll.PayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollHistory.json.js +22 -0
- package/dist/i18n/es_US/Payroll.PayrollHistory.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollLanding.json.js +16 -0
- package/dist/i18n/es_US/Payroll.PayrollLanding.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollList.json.js +38 -0
- package/dist/i18n/es_US/Payroll.PayrollList.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollOverview.json.js +70 -0
- package/dist/i18n/es_US/Payroll.PayrollOverview.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.PayrollReceipts.json.js +20 -0
- package/dist/i18n/es_US/Payroll.PayrollReceipts.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.RecoveryCasesList.json.js +20 -0
- package/dist/i18n/es_US/Payroll.RecoveryCasesList.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.RecoveryCasesResubmit.json.js +8 -0
- package/dist/i18n/es_US/Payroll.RecoveryCasesResubmit.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.Transition.json.js +8 -0
- package/dist/i18n/es_US/Payroll.Transition.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.TransitionCreation.json.js +20 -0
- package/dist/i18n/es_US/Payroll.TransitionCreation.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.TransitionPayrollAlert.json.js +18 -0
- package/dist/i18n/es_US/Payroll.TransitionPayrollAlert.json.js.map +1 -0
- package/dist/i18n/es_US/Payroll.WireInstructions.json.js +30 -0
- package/dist/i18n/es_US/Payroll.WireInstructions.json.js.map +1 -0
- package/dist/i18n/es_US/common.json.js +44 -0
- package/dist/i18n/es_US/common.json.js.map +1 -0
- package/dist/i18n/types.d.ts +262 -6
- package/dist/index.d.ts +2 -2
- package/dist/models/external.d.ts +23 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +5 -0
- package/package.json +10 -10
|
@@ -9,17 +9,14 @@ 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
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
17
14
|
import { createCompoundContext as o } from "../../../Base/createCompoundContext.js";
|
|
18
|
-
const [
|
|
15
|
+
const [d, L] = o(
|
|
19
16
|
"CompanyDocumentFormContext"
|
|
20
17
|
);
|
|
21
18
|
export {
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
L as LocationsFormProvider,
|
|
20
|
+
d as useLocationsForm
|
|
24
21
|
};
|
|
25
22
|
//# sourceMappingURL=useLocationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocationForm.js","sources":["../../../../../src/components/Company/Locations/LocationForm/useLocationForm.ts"],"sourcesContent":["import { createCompoundContext } from '@/components/Base'\n\ntype LocationsFormContextType = {\n isPending: boolean\n handleCancel: () => void\n}\n\nconst [useLocationsForm, LocationsFormProvider] = createCompoundContext<LocationsFormContextType>(\n 'CompanyDocumentFormContext',\n)\n\nexport { useLocationsForm, LocationsFormProvider }\n"],"names":["useLocationsForm","LocationsFormProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLocationForm.js","sources":["../../../../../src/components/Company/Locations/LocationForm/useLocationForm.ts"],"sourcesContent":["import { createCompoundContext } from '@/components/Base'\n\ntype LocationsFormContextType = {\n isPending: boolean\n handleCancel: () => void\n}\n\nconst [useLocationsForm, LocationsFormProvider] = createCompoundContext<LocationsFormContextType>(\n 'CompanyDocumentFormContext',\n)\n\nexport { useLocationsForm, LocationsFormProvider }\n"],"names":["useLocationsForm","LocationsFormProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,CAACA,GAAkBC,CAAqB,IAAIC;AAAA,EAChD;AACF;"}
|
|
@@ -9,17 +9,14 @@ 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
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
17
14
|
import { createCompoundContext as o } from "../../../Base/createCompoundContext.js";
|
|
18
|
-
const [
|
|
15
|
+
const [d, f] = o(
|
|
19
16
|
"CompanyDocumentListContext"
|
|
20
17
|
);
|
|
21
18
|
export {
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
f as LocationsListProvider,
|
|
20
|
+
d as useLocationsList
|
|
24
21
|
};
|
|
25
22
|
//# sourceMappingURL=useLocationsList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLocationsList.js","sources":["../../../../../src/components/Company/Locations/LocationsList/useLocationsList.ts"],"sourcesContent":["import { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\nimport type { PaginationItemsPerPage } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\ntype LocationsListContextType = {\n locationList: Location[]\n totalPages: number\n totalCount: number\n currentPage: number\n itemsPerPage: PaginationItemsPerPage\n isFetching?: boolean\n handleItemsPerPageChange: (n: PaginationItemsPerPage) => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleEditLocation: (uuid: string) => void\n handleAddLocation: () => void\n handleContinue: () => void\n}\n\nconst [useLocationsList, LocationsListProvider] = createCompoundContext<LocationsListContextType>(\n 'CompanyDocumentListContext',\n)\n\nexport { useLocationsList, LocationsListProvider }\n"],"names":["useLocationsList","LocationsListProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useLocationsList.js","sources":["../../../../../src/components/Company/Locations/LocationsList/useLocationsList.ts"],"sourcesContent":["import { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\nimport type { PaginationItemsPerPage } from '@/components/Common/PaginationControl/PaginationControlTypes'\n\ntype LocationsListContextType = {\n locationList: Location[]\n totalPages: number\n totalCount: number\n currentPage: number\n itemsPerPage: PaginationItemsPerPage\n isFetching?: boolean\n handleItemsPerPageChange: (n: PaginationItemsPerPage) => void\n handleFirstPage: () => void\n handlePreviousPage: () => void\n handleNextPage: () => void\n handleLastPage: () => void\n handleEditLocation: (uuid: string) => void\n handleAddLocation: () => void\n handleContinue: () => void\n}\n\nconst [useLocationsList, LocationsListProvider] = createCompoundContext<LocationsListContextType>(\n 'CompanyDocumentListContext',\n)\n\nexport { useLocationsList, LocationsListProvider }\n"],"names":["useLocationsList","LocationsListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAqBA,MAAM,CAACA,GAAkBC,CAAqB,IAAIC;AAAA,EAChD;AACF;"}
|
|
@@ -9,15 +9,12 @@ 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
13
|
import "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
17
14
|
import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
|
|
18
|
-
const [
|
|
15
|
+
const [x, C] = o("OnboardingOverviewContext");
|
|
19
16
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
C as OnboardingOverviewProvider,
|
|
18
|
+
x as useOnboardingOverview
|
|
22
19
|
};
|
|
23
20
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../../../src/components/Company/OnboardingOverview/context.ts"],"sourcesContent":["import type { OnboardingStep } from '@gusto/embedded-api/models/components/companyonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\ntype OnboardingOverviewContextType = {\n onboardingCompleted?: boolean\n onboardingSteps?: OnboardingStep[]\n handleDone: () => void\n handleContinue: () => void\n}\n\nconst [useOnboardingOverview, OnboardingOverviewProvider] =\n createCompoundContext<OnboardingOverviewContextType>('OnboardingOverviewContext')\n\nexport { useOnboardingOverview, OnboardingOverviewProvider }\n"],"names":["useOnboardingOverview","OnboardingOverviewProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../src/components/Company/OnboardingOverview/context.ts"],"sourcesContent":["import type { OnboardingStep } from '@gusto/embedded-api/models/components/companyonboardingstatus'\nimport { createCompoundContext } from '@/components/Base'\n\ntype OnboardingOverviewContextType = {\n onboardingCompleted?: boolean\n onboardingSteps?: OnboardingStep[]\n handleDone: () => void\n handleContinue: () => void\n}\n\nconst [useOnboardingOverview, OnboardingOverviewProvider] =\n createCompoundContext<OnboardingOverviewContextType>('OnboardingOverviewContext')\n\nexport { useOnboardingOverview, OnboardingOverviewProvider }\n"],"names":["useOnboardingOverview","OnboardingOverviewProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAUA,MAAM,CAACA,GAAuBC,CAA0B,IACtDC,EAAqD,2BAA2B;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as l } from "react";
|
|
2
|
+
import { useState as u, useMemo as l } from "react";
|
|
3
3
|
import { createMachine as p } from "robot3";
|
|
4
4
|
import { usePaySchedulesGetAllSuspense as h } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
|
|
5
5
|
import { payScheduleStateMachine as S } from "./payScheduleStateMachine.js";
|
|
@@ -10,26 +10,32 @@ import { useI18n as P, useComponentDictionary as x } from "../../../i18n/I18n.js
|
|
|
10
10
|
import { Flow as M } from "../../Flow/Flow.js";
|
|
11
11
|
const L = ({
|
|
12
12
|
companyId: e,
|
|
13
|
-
defaultValues:
|
|
14
|
-
dictionary:
|
|
15
|
-
...
|
|
16
|
-
}) => /* @__PURE__ */ r(y, { ...
|
|
17
|
-
function w({ companyId: e, defaultValues:
|
|
18
|
-
P("Company.PaySchedule"), x("Company.PaySchedule",
|
|
19
|
-
const { onEvent:
|
|
13
|
+
defaultValues: t,
|
|
14
|
+
dictionary: n,
|
|
15
|
+
...i
|
|
16
|
+
}) => /* @__PURE__ */ r(y, { ...i, children: /* @__PURE__ */ r(w, { companyId: e, defaultValues: t, dictionary: n }) });
|
|
17
|
+
function w({ companyId: e, defaultValues: t, dictionary: n }) {
|
|
18
|
+
P("Company.PaySchedule"), x("Company.PaySchedule", n);
|
|
19
|
+
const { onEvent: i } = C(), { data: s } = h({ companyId: e }), [{ initialState: a, initialComponent: m }] = u(() => {
|
|
20
|
+
const o = (s.payScheduleShowResponse?.length ?? 0) > 0;
|
|
21
|
+
return {
|
|
22
|
+
initialState: o ? "listSchedules" : "addSchedule",
|
|
23
|
+
initialComponent: o ? d : f
|
|
24
|
+
};
|
|
25
|
+
}), c = l(
|
|
20
26
|
() => p(
|
|
21
|
-
|
|
27
|
+
a,
|
|
22
28
|
S,
|
|
23
|
-
(
|
|
24
|
-
...
|
|
25
|
-
component:
|
|
29
|
+
(o) => ({
|
|
30
|
+
...o,
|
|
31
|
+
component: m,
|
|
26
32
|
companyId: e,
|
|
27
|
-
defaultValues:
|
|
33
|
+
defaultValues: t
|
|
28
34
|
})
|
|
29
35
|
),
|
|
30
|
-
[e,
|
|
36
|
+
[e, t, a, m]
|
|
31
37
|
);
|
|
32
|
-
return /* @__PURE__ */ r(M, { machine:
|
|
38
|
+
return /* @__PURE__ */ r(M, { machine: c, onEvent: i });
|
|
33
39
|
}
|
|
34
40
|
export {
|
|
35
41
|
L as PaySchedule
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaySchedule.js","sources":["../../../../src/components/Company/PaySchedule/PaySchedule.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { payScheduleStateMachine } from './payScheduleStateMachine'\nimport type { PayScheduleContextInterface } from './PayScheduleComponents'\nimport { PayScheduleFormContextual, PayScheduleListContextual } from './PayScheduleComponents'\nimport type { PayScheduleFormData } from './shared/usePayScheduleForm/payScheduleSchema'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport type { BaseComponentKeys } from '@/components/Base/Base'\nimport { useI18n } from '@/i18n'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\n/**\n * The full set of fields that may be pre-filled on the {@link PaySchedule} create form.\n *\n * @public\n */\nexport type PayScheduleDefaultFields = {\n [\n K in keyof Pick<\n PayScheduleFormData,\n 'anchorPayDate' | 'anchorEndOfPayPeriod' | 'day1' | 'day2' | 'customName' | 'frequency'\n >\n ]: NonNullable<PayScheduleFormData[K]>\n}\n\n/**\n * Default values for the {@link PaySchedule} form fields. Server data for an existing pay schedule\n * takes precedence over these defaults when editing.\n *\n * @public\n */\nexport type PayScheduleDefaultValues = RequireAtLeastOne<Partial<PayScheduleDefaultFields>>\n\n/**\n * Props for the {@link PaySchedule} component.\n *\n * @public\n */\nexport interface PayScheduleProps extends BaseComponentInterface<'Company.PaySchedule'> {\n /** Identifier of the company whose pay schedules are managed. */\n companyId: string\n /** Default values used to pre-fill the create form. Ignored fields not listed in {@link PayScheduleDefaultValues}. */\n defaultValues?: PayScheduleDefaultValues\n}\n\n/**\n * Manages a company's pay schedules, including listing existing schedules and creating or editing one.\n *\n * @remarks\n * Renders the schedule list when at least one pay schedule exists and the create form otherwise.\n * Emits the following events through `onEvent`:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `paySchedule/created` | A new pay schedule was created | The created pay schedule entity |\n * | `paySchedule/updated` | An existing pay schedule was updated | The updated pay schedule entity |\n *\n * @param props - {@link PayScheduleProps} plus the standard base component props.\n * @returns The pay schedule list or form depending on whether any schedules exist.\n * @public\n */\nexport const PaySchedule = ({\n companyId,\n defaultValues,\n dictionary,\n ...props\n}: PayScheduleProps) => {\n return (\n <BaseComponent {...props}>\n <Root companyId={companyId} defaultValues={defaultValues} dictionary={dictionary} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultValues, dictionary }: Omit<PayScheduleProps, BaseComponentKeys>) {\n useI18n('Company.PaySchedule')\n useComponentDictionary('Company.PaySchedule', dictionary)\n const { onEvent } = useBase()\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({ companyId })\n\n const hasSchedules = (paySchedules.payScheduleShowResponse?.length ?? 0) > 0\n
|
|
1
|
+
{"version":3,"file":"PaySchedule.js","sources":["../../../../src/components/Company/PaySchedule/PaySchedule.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { createMachine } from 'robot3'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { payScheduleStateMachine } from './payScheduleStateMachine'\nimport type { PayScheduleContextInterface } from './PayScheduleComponents'\nimport { PayScheduleFormContextual, PayScheduleListContextual } from './PayScheduleComponents'\nimport type { PayScheduleFormData } from './shared/usePayScheduleForm/payScheduleSchema'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport type { BaseComponentKeys } from '@/components/Base/Base'\nimport { useI18n } from '@/i18n'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { RequireAtLeastOne } from '@/types/Helpers'\n\n/**\n * The full set of fields that may be pre-filled on the {@link PaySchedule} create form.\n *\n * @public\n */\nexport type PayScheduleDefaultFields = {\n [\n K in keyof Pick<\n PayScheduleFormData,\n 'anchorPayDate' | 'anchorEndOfPayPeriod' | 'day1' | 'day2' | 'customName' | 'frequency'\n >\n ]: NonNullable<PayScheduleFormData[K]>\n}\n\n/**\n * Default values for the {@link PaySchedule} form fields. Server data for an existing pay schedule\n * takes precedence over these defaults when editing.\n *\n * @public\n */\nexport type PayScheduleDefaultValues = RequireAtLeastOne<Partial<PayScheduleDefaultFields>>\n\n/**\n * Props for the {@link PaySchedule} component.\n *\n * @public\n */\nexport interface PayScheduleProps extends BaseComponentInterface<'Company.PaySchedule'> {\n /** Identifier of the company whose pay schedules are managed. */\n companyId: string\n /** Default values used to pre-fill the create form. Ignored fields not listed in {@link PayScheduleDefaultValues}. */\n defaultValues?: PayScheduleDefaultValues\n}\n\n/**\n * Manages a company's pay schedules, including listing existing schedules and creating or editing one.\n *\n * @remarks\n * Renders the schedule list when at least one pay schedule exists and the create form otherwise.\n * Emits the following events through `onEvent`:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `paySchedule/created` | A new pay schedule was created | The created pay schedule entity |\n * | `paySchedule/updated` | An existing pay schedule was updated | The updated pay schedule entity |\n *\n * @param props - {@link PayScheduleProps} plus the standard base component props.\n * @returns The pay schedule list or form depending on whether any schedules exist.\n * @public\n */\nexport const PaySchedule = ({\n companyId,\n defaultValues,\n dictionary,\n ...props\n}: PayScheduleProps) => {\n return (\n <BaseComponent {...props}>\n <Root companyId={companyId} defaultValues={defaultValues} dictionary={dictionary} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, defaultValues, dictionary }: Omit<PayScheduleProps, BaseComponentKeys>) {\n useI18n('Company.PaySchedule')\n useComponentDictionary('Company.PaySchedule', dictionary)\n const { onEvent } = useBase()\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({ companyId })\n\n // Freeze the initial routing decision. Recomputing it after a later refetch (e.g. once\n // the first schedule is created) would re-seat the machine and orphan its interpreter.\n const [{ initialState, initialComponent }] = useState<{\n initialState: keyof typeof payScheduleStateMachine\n initialComponent: typeof PayScheduleListContextual | typeof PayScheduleFormContextual\n }>(() => {\n const hasSchedules = (paySchedules.payScheduleShowResponse?.length ?? 0) > 0\n return {\n initialState: hasSchedules ? 'listSchedules' : 'addSchedule',\n initialComponent: hasSchedules ? PayScheduleListContextual : PayScheduleFormContextual,\n }\n })\n\n const machine = useMemo(\n () =>\n createMachine(\n initialState,\n payScheduleStateMachine,\n (initialContext: PayScheduleContextInterface) => ({\n ...initialContext,\n component: initialComponent,\n companyId,\n defaultValues,\n }),\n ),\n [companyId, defaultValues, initialState, initialComponent],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n"],"names":["PaySchedule","companyId","defaultValues","dictionary","props","jsx","BaseComponent","Root","useI18n","useComponentDictionary","onEvent","useBase","paySchedules","usePaySchedulesGetAllSuspense","initialState","initialComponent","useState","hasSchedules","PayScheduleListContextual","PayScheduleFormContextual","machine","useMemo","createMachine","payScheduleStateMachine","initialContext","Flow"],"mappings":";;;;;;;;;;AAkEO,MAAMA,IAAc,CAAC;AAAA,EAC1B,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAK,WAAAN,GAAsB,eAAAC,GAA8B,YAAAC,EAAA,CAAwB,EAAA,CACpF;AAIJ,SAASI,EAAK,EAAE,WAAAN,GAAW,eAAAC,GAAe,YAAAC,KAAyD;AACjG,EAAAK,EAAQ,qBAAqB,GAC7BC,EAAuB,uBAAuBN,CAAU;AACxD,QAAM,EAAE,SAAAO,EAAA,IAAYC,EAAA,GACd,EAAE,MAAMC,EAAA,IAAiBC,EAA8B,EAAE,WAAAZ,GAAW,GAIpE,CAAC,EAAE,cAAAa,GAAc,kBAAAC,GAAkB,IAAIC,EAG1C,MAAM;AACP,UAAMC,KAAgBL,EAAa,yBAAyB,UAAU,KAAK;AAC3E,WAAO;AAAA,MACL,cAAcK,IAAe,kBAAkB;AAAA,MAC/C,kBAAkBA,IAAeC,IAA4BC;AAAA,IAAA;AAAA,EAEjE,CAAC,GAEKC,IAAUC;AAAA,IACd,MACEC;AAAA,MACER;AAAA,MACAS;AAAA,MACA,CAACC,OAAiD;AAAA,QAChD,GAAGA;AAAA,QACH,WAAWT;AAAA,QACX,WAAAd;AAAA,QACA,eAAAC;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACD,GAAWC,GAAeY,GAAcC,CAAgB;AAAA,EAAA;AAG3D,SAAO,gBAAAV,EAACoB,GAAA,EAAK,SAAAL,GAAkB,SAAAV,EAAA,CAAkB;AACnD;"}
|
|
@@ -9,15 +9,12 @@ 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
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
17
14
|
import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
|
|
18
|
-
const [
|
|
15
|
+
const [c, d] = t("StateTaxesFormContext");
|
|
19
16
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
d as StateTaxesFormProvider,
|
|
18
|
+
c as useStateTaxesForm
|
|
22
19
|
};
|
|
23
20
|
//# 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;"}
|
|
@@ -9,15 +9,12 @@ 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
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
17
14
|
import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
|
|
18
|
-
const [
|
|
15
|
+
const [c, d] = t("StateTaxesListContext");
|
|
19
16
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
d as StateTaxesListProvider,
|
|
18
|
+
c as useStateTaxesList
|
|
22
19
|
};
|
|
23
20
|
//# 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;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaxRateHistorySection.js","sources":["../../../../../src/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useTaxRateManagement, type TaxRateKeyGroup } from './context'\nimport { extractRequirementColumns, toHistoryRows, type HistoryRow } from './toHistoryRows'\nimport { AddRateAction } from './AddRateAction'\nimport { DataView, EmptyData, Flex, useDataView, VisuallyHidden } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\n\ninterface TaxRateHistorySectionProps {\n group: TaxRateKeyGroup\n /**\n * Whether to render this group's own heading + \"Add tax rate\" button.\n *\n * @remarks\n * Set to `false` when this is the only group for the state — the page-level header already\n * carries the title and the single add-rate action, so a repeated per-group header would be\n * redundant.\n *\n * @defaultValue `true`\n */\n showHeader?: boolean\n}\n\ntype BadgeStatus = 'success' | 'info' | 'warning'\n\nconst statusBadgeMap = {\n current: 'success',\n scheduled: 'info',\n historical: 'warning',\n} as const satisfies Record<HistoryRow['status'], BadgeStatus>\n\nconst statusLabelKeyMap = {\n current: 'currentBadge',\n scheduled: 'scheduledBadge',\n historical: 'historicalBadge',\n} as const satisfies Record<HistoryRow['status'], string>\n\n/** @internal */\nexport function TaxRateHistorySection({ group, showHeader = true }: TaxRateHistorySectionProps) {\n const { t } = useTranslation('Company.StateTaxes', { keyPrefix: 'manageRates' })\n const Components = useComponentContext()\n const dateFormatter = useDateFormatter()\n const { state } = useTaxRateManagement()\n\n const rows = useMemo(() => toHistoryRows(group.sets), [group.sets])\n const requirementColumns = useMemo(() => extractRequirementColumns(group.sets), [group.sets])\n\n const sectionLabel = group.label ?? group.key\n\n const { ...dataViewProps } = useDataView<HistoryRow>({\n data: rows,\n columns: [\n {\n key: 'effectiveFrom',\n title: t('effectiveDateColumnLabel'),\n render: row => dateFormatter.formatLongWithYear(row.effectiveFrom),\n },\n {\n key: 'status',\n title: <VisuallyHidden>{t('statusColumnLabel')}</VisuallyHidden>,\n render: row => (\n <Components.Badge status={statusBadgeMap[row.status]}>\n {t(statusLabelKeyMap[row.status])}\n </Components.Badge>\n ),\n },\n ...requirementColumns.map(column => ({\n key: column.key,\n title: column.label ?? column.key,\n render: (row: HistoryRow) => row.values[column.key] ?? '',\n })),\n ],\n emptyState: () => (\n <EmptyData title={t('emptyHistoryTitle')} description={t('emptyHistoryDescription')} />\n ),\n })\n\n return (\n <section aria-label={sectionLabel}>\n <Flex flexDirection=\"column\" gap={16} alignItems=\"stretch\">\n {showHeader && (\n <Flex justifyContent=\"space-between\" alignItems=\"center\" gap={16}>\n <Components.Heading as=\"h3\">{sectionLabel}</Components.Heading>\n <AddRateAction state={state} group={group} />\n </Flex>\n )}\n <DataView label={sectionLabel} {...dataViewProps} />\n </Flex>\n </section>\n )\n}\n"],"names":["statusBadgeMap","statusLabelKeyMap","TaxRateHistorySection","group","showHeader","t","useTranslation","Components","useComponentContext","dateFormatter","useDateFormatter","state","useTaxRateManagement","rows","useMemo","toHistoryRows","requirementColumns","extractRequirementColumns","sectionLabel","dataViewProps","useDataView","row","jsx","VisuallyHidden","column","EmptyData","jsxs","Flex","AddRateAction","DataView"],"mappings":";;;;;;;;;;;;;AA0BA,MAAMA,IAAiB;AAAA,EACrB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AACd,GAEMC,IAAoB;AAAA,EACxB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AACd;AAGO,SAASC,EAAsB,EAAE,OAAAC,GAAO,YAAAC,IAAa,MAAoC;AAC9F,QAAM,EAAE,GAAAC,MAAMC,EAAe,sBAAsB,EAAE,WAAW,eAAe,GACzEC,IAAaC,EAAA,GACbC,IAAgBC,EAAA,GAChB,EAAE,OAAAC,EAAA,IAAUC,EAAA,GAEZC,IAAOC,EAAQ,MAAMC,EAAcZ,EAAM,IAAI,GAAG,CAACA,EAAM,IAAI,CAAC,GAC5Da,IAAqBF,EAAQ,MAAMG,EAA0Bd,EAAM,IAAI,GAAG,CAACA,EAAM,IAAI,CAAC,GAEtFe,IAAef,EAAM,SAASA,EAAM,KAEpC,EAAE,GAAGgB,EAAA,IAAkBC,EAAwB;AAAA,IACnD,MAAMP;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAOR,EAAE,0BAA0B;AAAA,QACnC,QAAQ,CAAAgB,MAAOZ,EAAc,mBAAmBY,EAAI,aAAa;AAAA,MAAA;AAAA,MAEnE;AAAA,QACE,KAAK;AAAA,QACL,OAAO,gBAAAC,EAACC,GAAA,EAAgB,UAAAlB,EAAE,mBAAmB,GAAE;AAAA,QAC/C,QAAQ,CAAAgB,MACN,gBAAAC,EAACf,EAAW,OAAX,EAAiB,QAAQP,EAAeqB,EAAI,MAAM,GAChD,UAAAhB,EAAEJ,EAAkBoB,EAAI,MAAM,CAAC,EAAA,CAClC;AAAA,MAAA;AAAA,MAGJ,GAAGL,EAAmB,IAAI,CAAAQ,OAAW;AAAA,QACnC,KAAKA,EAAO;AAAA,QACZ,OAAOA,EAAO,SAASA,EAAO;AAAA,QAC9B,QAAQ,CAACH,MAAoBA,EAAI,OAAOG,EAAO,GAAG,KAAK;AAAA,MAAA,EACvD;AAAA,IAAA;AAAA,IAEJ,YAAY,MACV,gBAAAF,EAACG,GAAA,EAAU,OAAOpB,EAAE,mBAAmB,GAAG,aAAaA,EAAE,yBAAyB,EAAA,CAAG;AAAA,EAAA,CAExF;AAED,SACE,gBAAAiB,EAAC,WAAA,EAAQ,cAAYJ,GACnB,UAAA,gBAAAQ,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,YAAW,WAC9C,UAAA;AAAA,IAAAvB,uBACEuB,GAAA,EAAK,gBAAe,iBAAgB,YAAW,UAAS,KAAK,IAC5D,UAAA;AAAA,MAAA,gBAAAL,EAACf,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAW,GAAa;AAAA,MAC1C,gBAAAI,EAACM,GAAA,EAAc,OAAAjB,GAAc,OAAAR,EAAA,CAAc;AAAA,IAAA,GAC7C;AAAA,IAEF,gBAAAmB,EAACO,GAAA,EAAS,OAAOX,GAAe,GAAGC,EAAA,CAAe;AAAA,EAAA,EAAA,CACpD,EAAA,CACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"TaxRateHistorySection.js","sources":["../../../../../src/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useTaxRateManagement, type TaxRateKeyGroup } from './context'\nimport { extractRequirementColumns, toHistoryRows, type HistoryRow } from './toHistoryRows'\nimport { AddRateAction } from './AddRateAction'\nimport { DataView, EmptyData, Flex, useDataView, VisuallyHidden } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\n\ninterface TaxRateHistorySectionProps {\n group: TaxRateKeyGroup\n /**\n * Whether to render this group's own heading + \"Add tax rate\" button.\n *\n * @remarks\n * Set to `false` when this is the only group for the state — the page-level header already\n * carries the title and the single add-rate action, so a repeated per-group header would be\n * redundant.\n *\n * @defaultValue `true`\n */\n showHeader?: boolean\n}\n\ntype BadgeStatus = 'success' | 'info' | 'warning'\n\nconst statusBadgeMap = {\n current: 'success',\n scheduled: 'info',\n historical: 'warning',\n} as const satisfies Record<HistoryRow['status'], BadgeStatus>\n\nconst statusLabelKeyMap = {\n current: 'currentBadge',\n scheduled: 'scheduledBadge',\n historical: 'historicalBadge',\n} as const satisfies Record<HistoryRow['status'], string>\n\n/** @internal */\nexport function TaxRateHistorySection({ group, showHeader = true }: TaxRateHistorySectionProps) {\n const { t } = useTranslation('Company.StateTaxes', { keyPrefix: 'manageRates' })\n const Components = useComponentContext()\n const dateFormatter = useDateFormatter()\n const { state } = useTaxRateManagement()\n\n const rows = useMemo(() => toHistoryRows(group.sets), [group.sets])\n const requirementColumns = useMemo(() => extractRequirementColumns(group.sets), [group.sets])\n\n const sectionLabel = group.label ?? group.key\n\n const { ...dataViewProps } = useDataView<HistoryRow>({\n data: rows,\n columns: [\n {\n key: 'effectiveFrom',\n title: t('effectiveDateColumnLabel'),\n render: row => dateFormatter.formatLongWithYear(row.effectiveFrom),\n },\n {\n key: 'status',\n title: <VisuallyHidden>{t('statusColumnLabel')}</VisuallyHidden>,\n render: row => (\n <Components.Badge status={statusBadgeMap[row.status]}>\n {t(statusLabelKeyMap[row.status])}\n </Components.Badge>\n ),\n },\n ...requirementColumns.map(column => ({\n key: column.key,\n title: column.label ?? column.key,\n justify: 'end' as const,\n render: (row: HistoryRow) => row.values[column.key] ?? '',\n })),\n ],\n emptyState: () => (\n <EmptyData title={t('emptyHistoryTitle')} description={t('emptyHistoryDescription')} />\n ),\n })\n\n return (\n <section aria-label={sectionLabel}>\n <Flex flexDirection=\"column\" gap={16} alignItems=\"stretch\">\n {showHeader && (\n <Flex justifyContent=\"space-between\" alignItems=\"center\" gap={16}>\n <Components.Heading as=\"h3\">{sectionLabel}</Components.Heading>\n <AddRateAction state={state} group={group} />\n </Flex>\n )}\n <DataView label={sectionLabel} {...dataViewProps} />\n </Flex>\n </section>\n )\n}\n"],"names":["statusBadgeMap","statusLabelKeyMap","TaxRateHistorySection","group","showHeader","t","useTranslation","Components","useComponentContext","dateFormatter","useDateFormatter","state","useTaxRateManagement","rows","useMemo","toHistoryRows","requirementColumns","extractRequirementColumns","sectionLabel","dataViewProps","useDataView","row","jsx","VisuallyHidden","column","EmptyData","jsxs","Flex","AddRateAction","DataView"],"mappings":";;;;;;;;;;;;;AA0BA,MAAMA,IAAiB;AAAA,EACrB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AACd,GAEMC,IAAoB;AAAA,EACxB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AACd;AAGO,SAASC,EAAsB,EAAE,OAAAC,GAAO,YAAAC,IAAa,MAAoC;AAC9F,QAAM,EAAE,GAAAC,MAAMC,EAAe,sBAAsB,EAAE,WAAW,eAAe,GACzEC,IAAaC,EAAA,GACbC,IAAgBC,EAAA,GAChB,EAAE,OAAAC,EAAA,IAAUC,EAAA,GAEZC,IAAOC,EAAQ,MAAMC,EAAcZ,EAAM,IAAI,GAAG,CAACA,EAAM,IAAI,CAAC,GAC5Da,IAAqBF,EAAQ,MAAMG,EAA0Bd,EAAM,IAAI,GAAG,CAACA,EAAM,IAAI,CAAC,GAEtFe,IAAef,EAAM,SAASA,EAAM,KAEpC,EAAE,GAAGgB,EAAA,IAAkBC,EAAwB;AAAA,IACnD,MAAMP;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAOR,EAAE,0BAA0B;AAAA,QACnC,QAAQ,CAAAgB,MAAOZ,EAAc,mBAAmBY,EAAI,aAAa;AAAA,MAAA;AAAA,MAEnE;AAAA,QACE,KAAK;AAAA,QACL,OAAO,gBAAAC,EAACC,GAAA,EAAgB,UAAAlB,EAAE,mBAAmB,GAAE;AAAA,QAC/C,QAAQ,CAAAgB,MACN,gBAAAC,EAACf,EAAW,OAAX,EAAiB,QAAQP,EAAeqB,EAAI,MAAM,GAChD,UAAAhB,EAAEJ,EAAkBoB,EAAI,MAAM,CAAC,EAAA,CAClC;AAAA,MAAA;AAAA,MAGJ,GAAGL,EAAmB,IAAI,CAAAQ,OAAW;AAAA,QACnC,KAAKA,EAAO;AAAA,QACZ,OAAOA,EAAO,SAASA,EAAO;AAAA,QAC9B,SAAS;AAAA,QACT,QAAQ,CAACH,MAAoBA,EAAI,OAAOG,EAAO,GAAG,KAAK;AAAA,MAAA,EACvD;AAAA,IAAA;AAAA,IAEJ,YAAY,MACV,gBAAAF,EAACG,GAAA,EAAU,OAAOpB,EAAE,mBAAmB,GAAG,aAAaA,EAAE,yBAAyB,EAAA,CAAG;AAAA,EAAA,CAExF;AAED,SACE,gBAAAiB,EAAC,WAAA,EAAQ,cAAYJ,GACnB,UAAA,gBAAAQ,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAAI,YAAW,WAC9C,UAAA;AAAA,IAAAvB,uBACEuB,GAAA,EAAK,gBAAe,iBAAgB,YAAW,UAAS,KAAK,IAC5D,UAAA;AAAA,MAAA,gBAAAL,EAACf,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAW,GAAa;AAAA,MAC1C,gBAAAI,EAACM,GAAA,EAAc,OAAAjB,GAAc,OAAAR,EAAA,CAAc;AAAA,IAAA,GAC7C;AAAA,IAEF,gBAAAmB,EAACO,GAAA,EAAS,OAAOX,GAAe,GAAGC,EAAA,CAAe;AAAA,EAAA,EAAA,CACpD,EAAA,CACF;AAEJ;"}
|
|
@@ -9,15 +9,12 @@ 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
13
|
import "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
17
14
|
import { createCompoundContext as t } from "../../../Base/createCompoundContext.js";
|
|
18
|
-
const [
|
|
15
|
+
const [c, d] = t("TaxRateManagementContext");
|
|
19
16
|
export {
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
d as TaxRateManagementProvider,
|
|
18
|
+
c as useTaxRateManagement
|
|
22
19
|
};
|
|
23
20
|
//# 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;"}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as T } from "react-i18next";
|
|
3
3
|
import E from "classnames";
|
|
4
|
-
import { useContractorPayForm as
|
|
4
|
+
import { useContractorPayForm as R } from "../shared/useContractorPayForm/useContractorPayForm.js";
|
|
5
5
|
import { WageType as d } from "../shared/useContractorPayForm/contractorPaySchema.js";
|
|
6
|
-
import
|
|
7
|
-
import { BaseBoundaries as
|
|
6
|
+
import N from "./CompensationEditForm.module.scss.js";
|
|
7
|
+
import { BaseBoundaries as A, BaseLayout as f } from "../../../Base/Base.js";
|
|
8
8
|
import "../../../Base/useBase.js";
|
|
9
|
-
import { Flex as
|
|
10
|
-
import { ActionsLayout as
|
|
11
|
-
import { Form as
|
|
12
|
-
import { SDKFormProvider as
|
|
13
|
-
import { useI18n as
|
|
9
|
+
import { Flex as M } from "../../../Common/Flex/Flex.js";
|
|
10
|
+
import { ActionsLayout as b } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
|
+
import { Form as L } from "../../../Common/Form/Form.js";
|
|
12
|
+
import { SDKFormProvider as x } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
13
|
+
import { useI18n as D, useComponentDictionary as F } from "../../../../i18n/I18n.js";
|
|
14
14
|
import { componentEvents as C } from "../../../../shared/constants.js";
|
|
15
15
|
import { useComponentContext as O } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
16
|
-
function
|
|
16
|
+
function Y({
|
|
17
17
|
FallbackComponent: a,
|
|
18
18
|
LoaderComponent: i,
|
|
19
19
|
...m
|
|
20
20
|
}) {
|
|
21
21
|
return /* @__PURE__ */ o(
|
|
22
|
-
|
|
22
|
+
A,
|
|
23
23
|
{
|
|
24
24
|
componentName: "Contractor.Management.Compensation",
|
|
25
25
|
FallbackComponent: a,
|
|
@@ -35,8 +35,8 @@ function H({
|
|
|
35
35
|
onEvent: l,
|
|
36
36
|
LoaderComponent: c
|
|
37
37
|
}) {
|
|
38
|
-
|
|
39
|
-
const { t: r } = T("Contractor.Management.Compensation"), e = O(), t =
|
|
38
|
+
D("Contractor.Management.Compensation"), F("Contractor.Management.Compensation", m);
|
|
39
|
+
const { t: r } = T("Contractor.Management.Compensation"), e = O(), t = R({ contractorId: a });
|
|
40
40
|
if (t.isLoading)
|
|
41
41
|
return /* @__PURE__ */ o(
|
|
42
42
|
f,
|
|
@@ -61,8 +61,8 @@ function H({
|
|
|
61
61
|
}))
|
|
62
62
|
}
|
|
63
63
|
);
|
|
64
|
-
return /* @__PURE__ */ o("section", { className: E(
|
|
65
|
-
/* @__PURE__ */ s(
|
|
64
|
+
return /* @__PURE__ */ o("section", { className: E(N.container, i), children: /* @__PURE__ */ o(f, { error: t.errorHandling.errors, LoaderComponent: c, children: /* @__PURE__ */ o(x, { formHookResult: t, children: /* @__PURE__ */ s(L, { onSubmit: y, children: [
|
|
65
|
+
/* @__PURE__ */ s(M, { flexDirection: "column", gap: 4, children: [
|
|
66
66
|
/* @__PURE__ */ o(e.Heading, { as: "h2", children: r("form.title") }),
|
|
67
67
|
/* @__PURE__ */ o(e.Text, { variant: "supporting", children: r("form.description") })
|
|
68
68
|
] }),
|
|
@@ -79,16 +79,19 @@ function H({
|
|
|
79
79
|
{
|
|
80
80
|
label: r("form.hourlyRateLabel"),
|
|
81
81
|
format: "currency",
|
|
82
|
-
validationMessages: {
|
|
82
|
+
validationMessages: {
|
|
83
|
+
REQUIRED: r("form.validations.hourlyRate"),
|
|
84
|
+
MAX_HOURLY_RATE: r("form.validations.hourlyRateMax")
|
|
85
|
+
}
|
|
83
86
|
}
|
|
84
87
|
),
|
|
85
|
-
/* @__PURE__ */ s(
|
|
88
|
+
/* @__PURE__ */ s(b, { children: [
|
|
86
89
|
/* @__PURE__ */ o(e.Button, { variant: "secondary", onClick: g, type: "button", children: r("form.cancelCta") }),
|
|
87
90
|
/* @__PURE__ */ o(e.Button, { type: "submit", isLoading: t.status.isPending, children: r("form.saveCta") })
|
|
88
91
|
] })
|
|
89
92
|
] }) }) }) });
|
|
90
93
|
}
|
|
91
94
|
export {
|
|
92
|
-
|
|
95
|
+
Y as CompensationEditForm
|
|
93
96
|
};
|
|
94
97
|
//# sourceMappingURL=CompensationEditForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompensationEditForm.js","sources":["../../../../../src/components/Contractor/Compensation/management/CompensationEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { useContractorPayForm, WageType } from '../shared/useContractorPayForm'\nimport styles from './CompensationEditForm.module.scss'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { Form } from '@/components/Common/Form'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\n\n/**\n * Props for {@link CompensationEditForm}.\n *\n * @public\n */\nexport interface CompensationEditFormProps extends BaseComponentInterface<'Contractor.Management.Compensation'> {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\n/**\n * Standalone edit form for a contractor's compensation type and rate.\n *\n * @remarks\n * Renders a Fixed/Hourly compensation-type selector and, when Hourly, an\n * hourly-rate field. Save and Cancel both emit events so the parent can\n * return to the read view.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/management/compensation/updated` | Fired after compensation is successfully saved | The updated `Contractor` entity |\n * | `contractor/management/compensation/editCancelled` | Fired when the user clicks Cancel | — |\n *\n * @param input - See {@link CompensationEditFormProps}.\n * @returns The contractor compensation edit form.\n * @public\n */\nexport function CompensationEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: CompensationEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Contractor.Management.Compensation\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <CompensationEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction CompensationEditFormRoot({\n contractorId,\n className,\n dictionary,\n onEvent,\n LoaderComponent,\n}: CompensationEditFormProps) {\n useI18n('Contractor.Management.Compensation')\n useComponentDictionary('Contractor.Management.Compensation', dictionary)\n const { t } = useTranslation('Contractor.Management.Compensation')\n const Components = useComponentContext()\n\n const payForm = useContractorPayForm({ contractorId })\n\n if (payForm.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={payForm.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const { Fields } = payForm.form\n\n const handleSubmit = async () => {\n const result = await payForm.actions.onSubmit()\n if (!result) return\n onEvent(componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_UPDATED, result.data)\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_CANCELLED)\n }\n\n const WageTypeFieldComponent = (radioProps: RadioGroupProps) => (\n <Components.RadioGroup\n {...radioProps}\n options={radioProps.options.map(option => ({\n ...option,\n description:\n option.value === WageType.Hourly\n ? t('form.hourlyDescription')\n : t('form.fixedDescription'),\n }))}\n />\n )\n\n return (\n <section className={classNames(styles.container, className)}>\n <BaseLayout error={payForm.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={payForm}>\n <Form onSubmit={handleSubmit}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('form.title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('form.description')}</Components.Text>\n </Flex>\n <Fields.WageType\n label={t('form.wageTypeLabel')}\n getOptionLabel={(value: string) =>\n value === WageType.Hourly ? t('hourlyLabel') : t('fixedLabel')\n }\n FieldComponent={WageTypeFieldComponent}\n />\n {payForm.status.isHourly && (\n <Fields.HourlyRate\n label={t('form.hourlyRateLabel')}\n format=\"currency\"\n validationMessages={{
|
|
1
|
+
{"version":3,"file":"CompensationEditForm.js","sources":["../../../../../src/components/Contractor/Compensation/management/CompensationEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { useContractorPayForm, WageType } from '../shared/useContractorPayForm'\nimport styles from './CompensationEditForm.module.scss'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { Form } from '@/components/Common/Form'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\n\n/**\n * Props for {@link CompensationEditForm}.\n *\n * @public\n */\nexport interface CompensationEditFormProps extends BaseComponentInterface<'Contractor.Management.Compensation'> {\n /** The associated contractor identifier. */\n contractorId: string\n}\n\n/**\n * Standalone edit form for a contractor's compensation type and rate.\n *\n * @remarks\n * Renders a Fixed/Hourly compensation-type selector and, when Hourly, an\n * hourly-rate field. Save and Cancel both emit events so the parent can\n * return to the read view.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/management/compensation/updated` | Fired after compensation is successfully saved | The updated `Contractor` entity |\n * | `contractor/management/compensation/editCancelled` | Fired when the user clicks Cancel | — |\n *\n * @param input - See {@link CompensationEditFormProps}.\n * @returns The contractor compensation edit form.\n * @public\n */\nexport function CompensationEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: CompensationEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Contractor.Management.Compensation\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <CompensationEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction CompensationEditFormRoot({\n contractorId,\n className,\n dictionary,\n onEvent,\n LoaderComponent,\n}: CompensationEditFormProps) {\n useI18n('Contractor.Management.Compensation')\n useComponentDictionary('Contractor.Management.Compensation', dictionary)\n const { t } = useTranslation('Contractor.Management.Compensation')\n const Components = useComponentContext()\n\n const payForm = useContractorPayForm({ contractorId })\n\n if (payForm.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={payForm.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const { Fields } = payForm.form\n\n const handleSubmit = async () => {\n const result = await payForm.actions.onSubmit()\n if (!result) return\n onEvent(componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_UPDATED, result.data)\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CONTRACTOR_MANAGEMENT_COMPENSATION_EDIT_CANCELLED)\n }\n\n const WageTypeFieldComponent = (radioProps: RadioGroupProps) => (\n <Components.RadioGroup\n {...radioProps}\n options={radioProps.options.map(option => ({\n ...option,\n description:\n option.value === WageType.Hourly\n ? t('form.hourlyDescription')\n : t('form.fixedDescription'),\n }))}\n />\n )\n\n return (\n <section className={classNames(styles.container, className)}>\n <BaseLayout error={payForm.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={payForm}>\n <Form onSubmit={handleSubmit}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('form.title')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('form.description')}</Components.Text>\n </Flex>\n <Fields.WageType\n label={t('form.wageTypeLabel')}\n getOptionLabel={(value: string) =>\n value === WageType.Hourly ? t('hourlyLabel') : t('fixedLabel')\n }\n FieldComponent={WageTypeFieldComponent}\n />\n {payForm.status.isHourly && (\n <Fields.HourlyRate\n label={t('form.hourlyRateLabel')}\n format=\"currency\"\n validationMessages={{\n REQUIRED: t('form.validations.hourlyRate'),\n MAX_HOURLY_RATE: t('form.validations.hourlyRateMax'),\n }}\n />\n )}\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel} type=\"button\">\n {t('form.cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={payForm.status.isPending}>\n {t('form.saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["CompensationEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","CompensationEditFormRoot","contractorId","className","dictionary","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","payForm","useContractorPayForm","BaseLayout","Fields","handleSubmit","result","componentEvents","handleCancel","WageTypeFieldComponent","radioProps","option","WageType","classNames","styles","SDKFormProvider","jsxs","Form","Flex","value","ActionsLayout"],"mappings":";;;;;;;;;;;;;;;AA0CO,SAASA,EAAqB;AAAA,EACnC,mBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAA8B;AAC5B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAyB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG7E;AAEA,SAASG,EAAyB;AAAA,EAChC,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAR;AACF,GAA8B;AAC5B,EAAAS,EAAQ,oCAAoC,GAC5CC,EAAuB,sCAAsCH,CAAU;AACvE,QAAM,EAAE,GAAAI,EAAA,IAAMC,EAAe,oCAAoC,GAC3DC,IAAaC,EAAA,GAEbC,IAAUC,EAAqB,EAAE,cAAAX,GAAc;AAErD,MAAIU,EAAQ;AACV,WACE,gBAAAb;AAAA,MAACe;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOF,EAAQ,cAAc;AAAA,QAC7B,iBAAAf;AAAA,MAAA;AAAA,IAAA;AAKN,QAAM,EAAE,QAAAkB,MAAWH,EAAQ,MAErBI,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAML,EAAQ,QAAQ,SAAA;AACrC,IAAKK,KACLZ,EAAQa,EAAgB,4CAA4CD,EAAO,IAAI;AAAA,EACjF,GAEME,IAAe,MAAM;AACzB,IAAAd,EAAQa,EAAgB,iDAAiD;AAAA,EAC3E,GAEME,IAAyB,CAACC,MAC9B,gBAAAtB;AAAA,IAACW,EAAW;AAAA,IAAX;AAAA,MACE,GAAGW;AAAA,MACJ,SAASA,EAAW,QAAQ,IAAI,CAAAC,OAAW;AAAA,QACzC,GAAGA;AAAA,QACH,aACEA,EAAO,UAAUC,EAAS,SACtBf,EAAE,wBAAwB,IAC1BA,EAAE,uBAAuB;AAAA,MAAA,EAC/B;AAAA,IAAA;AAAA,EAAA;AAIN,SACE,gBAAAT,EAAC,aAAQ,WAAWyB,EAAWC,EAAO,WAAWtB,CAAS,GACxD,UAAA,gBAAAJ,EAACe,GAAA,EAAW,OAAOF,EAAQ,cAAc,QAAQ,iBAAAf,GAC/C,UAAA,gBAAAE,EAAC2B,GAAA,EAAgB,gBAAgBd,GAC/B,UAAA,gBAAAe,EAACC,GAAA,EAAK,UAAUZ,GACd,UAAA;AAAA,IAAA,gBAAAW,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAA9B,EAACW,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,YAAY,GAAE;AAAA,MAC7C,gBAAAT,EAACW,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAAF,EAAE,kBAAkB,EAAA,CAAE;AAAA,IAAA,GAC/D;AAAA,IACA,gBAAAT;AAAA,MAACgB,EAAO;AAAA,MAAP;AAAA,QACC,OAAOP,EAAE,oBAAoB;AAAA,QAC7B,gBAAgB,CAACsB,MACfA,MAAUP,EAAS,SAASf,EAAE,aAAa,IAAIA,EAAE,YAAY;AAAA,QAE/D,gBAAgBY;AAAA,MAAA;AAAA,IAAA;AAAA,IAEjBR,EAAQ,OAAO,YACd,gBAAAb;AAAA,MAACgB,EAAO;AAAA,MAAP;AAAA,QACC,OAAOP,EAAE,sBAAsB;AAAA,QAC/B,QAAO;AAAA,QACP,oBAAoB;AAAA,UAClB,UAAUA,EAAE,6BAA6B;AAAA,UACzC,iBAAiBA,EAAE,gCAAgC;AAAA,QAAA;AAAA,MACrD;AAAA,IAAA;AAAA,sBAGHuB,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAhC,EAACW,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASS,GAAc,MAAK,UAChE,UAAAX,EAAE,gBAAgB,EAAA,CACrB;AAAA,MACA,gBAAAT,EAACW,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWE,EAAQ,OAAO,WACxD,UAAAJ,EAAE,cAAc,EAAA,CACnB;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF,EAAA,CACF,GACF,GACF;AAEJ;"}
|
package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare const WageType: {
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const ContractorPayErrorCodes: {
|
|
18
18
|
readonly REQUIRED: "REQUIRED";
|
|
19
|
+
readonly MAX_HOURLY_RATE: "MAX_HOURLY_RATE";
|
|
19
20
|
};
|
|
20
21
|
/**
|
|
21
22
|
* Union of validation error code strings emitted by the contractor pay form
|
package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js
CHANGED
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
import { z as e } from "zod";
|
|
2
|
-
import { ContractorWageType as
|
|
3
|
-
import { buildFormSchema as
|
|
4
|
-
import { coerceNaN as
|
|
5
|
-
const
|
|
6
|
-
REQUIRED: "REQUIRED"
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { ContractorWageType as R } from "@gusto/embedded-api/models/components/contractor";
|
|
3
|
+
import { buildFormSchema as m } from "../../../../../partner-hook-utils/form/buildFormSchema.js";
|
|
4
|
+
import { coerceNaN as s } from "../../../../../partner-hook-utils/form/preprocessors.js";
|
|
5
|
+
const o = R, r = {
|
|
6
|
+
REQUIRED: "REQUIRED",
|
|
7
|
+
MAX_HOURLY_RATE: "MAX_HOURLY_RATE"
|
|
8
|
+
}, c = 1e12, u = {
|
|
9
|
+
wageType: e.enum([o.Fixed, o.Hourly]),
|
|
9
10
|
// No lower bound beyond non-negative here — a Fixed contractor's default of 0
|
|
10
11
|
// must stay valid since the field doesn't apply to them. The "must be > 0
|
|
11
12
|
// when Hourly" rule lives in the superRefine below instead.
|
|
12
|
-
hourlyRate: e.preprocess(
|
|
13
|
+
hourlyRate: e.preprocess(
|
|
14
|
+
s(0),
|
|
15
|
+
e.number().min(0).max(c, { message: r.MAX_HOURLY_RATE })
|
|
16
|
+
)
|
|
13
17
|
};
|
|
14
|
-
function
|
|
15
|
-
return u
|
|
16
|
-
requiredErrorCode:
|
|
18
|
+
function i() {
|
|
19
|
+
return m(u, {
|
|
20
|
+
requiredErrorCode: r.REQUIRED,
|
|
17
21
|
mode: "update",
|
|
18
|
-
superRefine: (
|
|
19
|
-
|
|
22
|
+
superRefine: (t, a) => {
|
|
23
|
+
t.wageType === o.Hourly && !(t.hourlyRate > 0) && a.addIssue({
|
|
20
24
|
code: e.ZodIssueCode.custom,
|
|
21
25
|
path: ["hourlyRate"],
|
|
22
|
-
message:
|
|
26
|
+
message: r.REQUIRED
|
|
23
27
|
});
|
|
24
28
|
}
|
|
25
29
|
});
|
|
26
30
|
}
|
|
27
31
|
export {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
r as ContractorPayErrorCodes,
|
|
33
|
+
o as WageType,
|
|
34
|
+
i as createContractorPaySchema
|
|
31
35
|
};
|
|
32
36
|
//# sourceMappingURL=contractorPaySchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractorPaySchema.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ContractorWageType as ApiWageType } from '@gusto/embedded-api/models/components/contractor'\nimport { buildFormSchema } from '@/partner-hook-utils/form/buildFormSchema'\nimport { coerceNaN } from '@/partner-hook-utils/form/preprocessors'\n\n/**\n * Contractor wage type enum (`Fixed` / `Hourly`) re-exported from the API model.\n *\n * @public\n */\nexport const WageType = ApiWageType\n\n/**\n * Validation error codes emitted by the contractor pay form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const ContractorPayErrorCodes = {\n REQUIRED: 'REQUIRED',\n} as const\n\n/**\n * Union of validation error code strings emitted by the contractor pay form\n * schema.\n *\n * @public\n */\nexport type ContractorPayErrorCode =\n (typeof ContractorPayErrorCodes)[keyof typeof ContractorPayErrorCodes]\n\nconst fieldValidators = {\n wageType: z.enum([WageType.Fixed, WageType.Hourly]),\n // No lower bound beyond non-negative here — a Fixed contractor's default of 0\n // must stay valid since the field doesn't apply to them. The \"must be > 0\n // when Hourly\" rule lives in the superRefine below instead.\n hourlyRate: z.preprocess(coerceNaN(0)
|
|
1
|
+
{"version":3,"file":"contractorPaySchema.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport { ContractorWageType as ApiWageType } from '@gusto/embedded-api/models/components/contractor'\nimport { buildFormSchema } from '@/partner-hook-utils/form/buildFormSchema'\nimport { coerceNaN } from '@/partner-hook-utils/form/preprocessors'\n\n/**\n * Contractor wage type enum (`Fixed` / `Hourly`) re-exported from the API model.\n *\n * @public\n */\nexport const WageType = ApiWageType\n\n/**\n * Validation error codes emitted by the contractor pay form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const ContractorPayErrorCodes = {\n REQUIRED: 'REQUIRED',\n MAX_HOURLY_RATE: 'MAX_HOURLY_RATE',\n} as const\n\n// Mirrors the server's fixed hourly-rate cap so an over-limit value is caught\n// inline instead of round-tripping to an API error.\nconst HOURLY_RATE_CAP = 1_000_000_000_000\n\n/**\n * Union of validation error code strings emitted by the contractor pay form\n * schema.\n *\n * @public\n */\nexport type ContractorPayErrorCode =\n (typeof ContractorPayErrorCodes)[keyof typeof ContractorPayErrorCodes]\n\nconst fieldValidators = {\n wageType: z.enum([WageType.Fixed, WageType.Hourly]),\n // No lower bound beyond non-negative here — a Fixed contractor's default of 0\n // must stay valid since the field doesn't apply to them. The \"must be > 0\n // when Hourly\" rule lives in the superRefine below instead.\n hourlyRate: z.preprocess(\n coerceNaN(0),\n z.number().min(0).max(HOURLY_RATE_CAP, { message: ContractorPayErrorCodes.MAX_HOURLY_RATE }),\n ),\n}\n\n/**\n * Field names accepted by the contractor pay form.\n *\n * @public\n */\nexport type ContractorPayFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the contractor pay form.\n *\n * @public\n * @interface\n */\nexport type ContractorPayFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n\n/** @internal */\nexport type ContractorPayFormOutputs = ContractorPayFormData\n\n/** @internal */\nexport function createContractorPaySchema() {\n return buildFormSchema(fieldValidators, {\n requiredErrorCode: ContractorPayErrorCodes.REQUIRED,\n mode: 'update',\n superRefine: (data, ctx) => {\n if (data.wageType === WageType.Hourly && !(data.hourlyRate > 0)) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['hourlyRate'],\n message: ContractorPayErrorCodes.REQUIRED,\n })\n }\n },\n })\n}\n"],"names":["WageType","ApiWageType","ContractorPayErrorCodes","HOURLY_RATE_CAP","fieldValidators","z","coerceNaN","createContractorPaySchema","buildFormSchema","data","ctx"],"mappings":";;;;AAUO,MAAMA,IAAWC,GAQXC,IAA0B;AAAA,EACrC,UAAU;AAAA,EACV,iBAAiB;AACnB,GAIMC,IAAkB,MAWlBC,IAAkB;AAAA,EACtB,UAAUC,EAAE,KAAK,CAACL,EAAS,OAAOA,EAAS,MAAM,CAAC;AAAA;AAAA;AAAA;AAAA,EAIlD,YAAYK,EAAE;AAAA,IACZC,EAAU,CAAC;AAAA,IACXD,EAAE,OAAA,EAAS,IAAI,CAAC,EAAE,IAAIF,GAAiB,EAAE,SAASD,EAAwB,gBAAA,CAAiB;AAAA,EAAA;AAE/F;AAuBO,SAASK,IAA4B;AAC1C,SAAOC,EAAgBJ,GAAiB;AAAA,IACtC,mBAAmBF,EAAwB;AAAA,IAC3C,MAAM;AAAA,IACN,aAAa,CAACO,GAAMC,MAAQ;AAC1B,MAAID,EAAK,aAAaT,EAAS,UAAU,EAAES,EAAK,aAAa,MAC3DC,EAAI,SAAS;AAAA,QACX,MAAML,EAAE,aAAa;AAAA,QACrB,MAAM,CAAC,YAAY;AAAA,QACnB,SAASH,EAAwB;AAAA,MAAA,CAClC;AAAA,IAEL;AAAA,EAAA,CACD;AACH;"}
|
|
@@ -8,6 +8,12 @@ import { HookFieldProps } from '../../../../../partner-hook-utils/types';
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
export type RequiredValidation = typeof ContractorPayErrorCodes.REQUIRED;
|
|
11
|
+
/**
|
|
12
|
+
* Validation code for an hourly rate above the server's maximum cap.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export type MaxHourlyRateValidation = typeof ContractorPayErrorCodes.MAX_HOURLY_RATE;
|
|
11
17
|
/**
|
|
12
18
|
* Props accepted by {@link useContractorPayForm}'s `Fields.WageType` component.
|
|
13
19
|
*
|
|
@@ -21,6 +27,6 @@ export declare function WageTypeField(props: WageTypeFieldProps): import("react"
|
|
|
21
27
|
*
|
|
22
28
|
* @public
|
|
23
29
|
*/
|
|
24
|
-
export type HourlyRateFieldProps = HookFieldProps<NumberInputHookFieldProps<RequiredValidation>>;
|
|
30
|
+
export type HourlyRateFieldProps = HookFieldProps<NumberInputHookFieldProps<RequiredValidation | MaxHourlyRateValidation>>;
|
|
25
31
|
/** @internal */
|
|
26
32
|
export declare function HourlyRateField(props: HourlyRateFieldProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorPayForm/fields.tsx"],"sourcesContent":["import type { ContractorPayErrorCodes, ContractorPayFormData } from './contractorPaySchema'\nimport type { RadioGroupHookFieldProps } from '@/partner-hook-utils/form/fields/RadioGroupHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport { RadioGroupHookField, NumberInputHookField } from '@/partner-hook-utils/form/fields'\nimport type { HookFieldProps } from '@/partner-hook-utils/types'\n\n/**\n * Validation code for a required contractor pay field.\n *\n * @public\n */\nexport type RequiredValidation = typeof ContractorPayErrorCodes.REQUIRED\n\n/**\n * Props accepted by {@link useContractorPayForm}'s `Fields.WageType` component.\n *\n * @public\n */\nexport type WageTypeFieldProps = HookFieldProps<\n RadioGroupHookFieldProps<never, ContractorPayFormData['wageType']>\n>\n\n/** @internal */\nexport function WageTypeField(props: WageTypeFieldProps) {\n return <RadioGroupHookField {...props} name=\"wageType\" />\n}\n\n/**\n * Props accepted by {@link useContractorPayForm}'s `Fields.HourlyRate` component.\n *\n * @public\n */\nexport type HourlyRateFieldProps = HookFieldProps
|
|
1
|
+
{"version":3,"file":"fields.js","sources":["../../../../../../src/components/Contractor/Compensation/shared/useContractorPayForm/fields.tsx"],"sourcesContent":["import type { ContractorPayErrorCodes, ContractorPayFormData } from './contractorPaySchema'\nimport type { RadioGroupHookFieldProps } from '@/partner-hook-utils/form/fields/RadioGroupHookField'\nimport type { NumberInputHookFieldProps } from '@/partner-hook-utils/form/fields/NumberInputHookField'\nimport { RadioGroupHookField, NumberInputHookField } from '@/partner-hook-utils/form/fields'\nimport type { HookFieldProps } from '@/partner-hook-utils/types'\n\n/**\n * Validation code for a required contractor pay field.\n *\n * @public\n */\nexport type RequiredValidation = typeof ContractorPayErrorCodes.REQUIRED\n\n/**\n * Validation code for an hourly rate above the server's maximum cap.\n *\n * @public\n */\nexport type MaxHourlyRateValidation = typeof ContractorPayErrorCodes.MAX_HOURLY_RATE\n\n/**\n * Props accepted by {@link useContractorPayForm}'s `Fields.WageType` component.\n *\n * @public\n */\nexport type WageTypeFieldProps = HookFieldProps<\n RadioGroupHookFieldProps<never, ContractorPayFormData['wageType']>\n>\n\n/** @internal */\nexport function WageTypeField(props: WageTypeFieldProps) {\n return <RadioGroupHookField {...props} name=\"wageType\" />\n}\n\n/**\n * Props accepted by {@link useContractorPayForm}'s `Fields.HourlyRate` component.\n *\n * @public\n */\nexport type HourlyRateFieldProps = HookFieldProps<\n NumberInputHookFieldProps<RequiredValidation | MaxHourlyRateValidation>\n>\n\n/** @internal */\nexport function HourlyRateField(props: HourlyRateFieldProps) {\n return <NumberInputHookField {...props} name=\"hourlyRate\" />\n}\n"],"names":["WageTypeField","props","jsx","RadioGroupHookField","HourlyRateField","NumberInputHookField"],"mappings":";;;AA8BO,SAASA,EAAcC,GAA2B;AACvD,SAAO,gBAAAC,EAACC,GAAA,EAAqB,GAAGF,GAAO,MAAK,YAAW;AACzD;AAYO,SAASG,EAAgBH,GAA6B;AAC3D,SAAO,gBAAAC,EAACG,GAAA,EAAsB,GAAGJ,GAAO,MAAK,cAAa;AAC5D;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { useContractorPayForm } from './useContractorPayForm';
|
|
2
2
|
export type { UseContractorPayFormProps, UseContractorPayFormResult, UseContractorPayFormReady, ContractorPayFormFields, ContractorPayFieldsMetadata, } from './useContractorPayForm';
|
|
3
3
|
export { ContractorPayErrorCodes, WageType, type ContractorPayErrorCode, type ContractorPayFormData, type ContractorPayFormField, } from './contractorPaySchema';
|
|
4
|
-
export { type RequiredValidation, type WageTypeFieldProps, type HourlyRateFieldProps, } from './fields';
|
|
4
|
+
export { type RequiredValidation, type MaxHourlyRateValidation, type WageTypeFieldProps, type HourlyRateFieldProps, } from './fields';
|