@gusto/embedded-react-sdk 0.57.2 → 0.58.0
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 +108 -0
- package/dist/components/Common/DataView/DataCards/DataCards.js +98 -66
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +11 -9
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +86 -75
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/getSortControls.js +22 -0
- package/dist/components/Common/DataView/getSortControls.js.map +1 -0
- package/dist/components/Common/DataView/useDataView.js +30 -24
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +32 -32
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
- package/dist/components/Common/UI/Table/Table.js +65 -25
- package/dist/components/Common/UI/Table/Table.js.map +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +8 -4
- package/dist/components/Common/UI/Table/Table.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +30 -45
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js +11 -12
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +34 -14
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js +106 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js +136 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +38 -20
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +78 -44
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +45 -37
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +244 -95
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js +22 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js +13 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +48 -43
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js +57 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js +83 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js +84 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +109 -39
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +78 -83
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -4
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +5 -5
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationEditForm.js +45 -54
- package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js +4 -4
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +17 -22
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js +3 -3
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +1 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +122 -113
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js +63 -54
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +20 -20
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js +10 -10
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js.map +1 -1
- package/dist/components/Contractor/Landing/Landing.js +43 -39
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +3 -3
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js +39 -48
- package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +10 -10
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +4 -4
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +8 -8
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +5 -5
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +3 -3
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js +76 -69
- package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +27 -29
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +15 -13
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js.map +1 -1
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js +2 -9
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +18 -18
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +6 -6
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -1
- package/dist/components/Contractor/shared/hourlyRate.js +14 -0
- package/dist/components/Contractor/shared/hourlyRate.js.map +1 -0
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +63 -63
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +25 -25
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +15 -15
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +25 -25
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +7 -7
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +6 -6
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +37 -33
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +27 -27
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +65 -74
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +6 -6
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +8 -15
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +11 -11
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +12 -12
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +26 -26
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +16 -16
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.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/OffCycleCreation/OffCycleCreation.js +84 -82
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js +8 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js.map +1 -0
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +97 -92
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +18 -18
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +146 -134
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js +14 -12
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +34 -33
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +49 -48
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +0 -4
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +51 -38
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +121 -102
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +6 -6
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +79 -74
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +9 -9
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +92 -83
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +23 -27
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +82 -75
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js +416 -0
- package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js.map +1 -0
- package/dist/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js → RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js} +1 -1
- package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js.map +1 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js +97 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js.map +1 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js +106 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js.map +1 -0
- package/dist/components/Payroll/{TransitionCreation/TransitionCreationPresentation.module.scss.js → TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js} +1 -1
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js.map +1 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js +10 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js.map +1 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +86 -64
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +126 -77
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js +8 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js.map +1 -0
- package/dist/components/Payroll/helpers.js +1 -1
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/index.js +16 -20
- package/dist/components/Payroll/index.js.map +1 -1
- package/dist/components/Payroll/payrollTypes.js +1 -1
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +11 -14
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +18 -17
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js +31 -0
- package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js.map +1 -0
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -1
- package/dist/contexts/FeaturesProvider/FeaturesProvider.js +14 -0
- package/dist/contexts/FeaturesProvider/FeaturesProvider.js.map +1 -0
- package/dist/contexts/FeaturesProvider/useFeature.js +7 -0
- package/dist/contexts/FeaturesProvider/useFeature.js.map +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +32 -30
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/i18n/I18n.js +2 -3
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.Management.PaySchedule.json.js +31 -13
- package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +20 -12
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Profile.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +29 -23
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollLanding.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
- package/dist/i18n/en/{Payroll.UNSTABLE_PayrollEditEmployee.json.js → Payroll.RropPayrollEditEmployee.json.js} +42 -38
- package/dist/i18n/en/Payroll.RropPayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/en/Payroll.TransitionConfiguration.json.js +28 -0
- package/dist/i18n/en/Payroll.TransitionConfiguration.json.js.map +1 -0
- package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +16 -12
- package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js.map +1 -1
- package/dist/i18n/en/common.json.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.js +55 -48
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +31 -29
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/shared/constants.js +7 -6
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Common/DataView/DataCards/DataCards.d.ts +3 -1
- package/dist/src/components/Common/DataView/DataTable/DataTable.d.ts +3 -1
- package/dist/src/components/Common/DataView/DataView.d.ts +2 -0
- package/dist/src/components/Common/DataView/getSortControls.d.ts +24 -0
- package/dist/src/components/Common/DataView/useDataView.d.ts +22 -1
- package/dist/src/components/Common/DateRangeFilter/DateRangeFilter.d.ts +2 -2
- package/dist/src/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
- package/dist/src/components/Common/UI/Table/TableTypes.d.ts +71 -2
- package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +1 -9
- package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +0 -1
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +10 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.d.ts +21 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.d.ts +9 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +5 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +10 -10
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +12 -4
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.d.ts +19 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.d.ts +17 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +16 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.d.ts +23 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.d.ts +25 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +4 -15
- package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +2 -2
- package/dist/src/components/Contractor/ContractorList/shared/index.d.ts +1 -1
- package/dist/src/components/Contractor/ContractorList/shared/useContractorList.d.ts +38 -0
- package/dist/src/components/Contractor/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Contractor/shared/hourlyRate.d.ts +23 -0
- package/dist/src/components/Employee/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.d.ts +9 -0
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +2 -0
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +8 -6
- package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +0 -8
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +5 -3
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -3
- package/dist/src/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +18 -5
- package/dist/src/components/Payroll/PayrollList/PayrollList.d.ts +11 -5
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts → RropPayrollEditEmployee/RropPayrollEditEmployee.d.ts} +9 -5
- package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfiguration.d.ts +55 -0
- package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.d.ts +9 -0
- package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.d.ts +52 -0
- package/dist/src/components/Payroll/TransitionConfiguration/index.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -2
- package/dist/src/components/Payroll/helpers.d.ts +2 -2
- package/dist/src/components/Payroll/index.d.ts +2 -6
- package/dist/src/components/Payroll/usePreparedPayrollData.d.ts +2 -2
- package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.d.ts +14 -0
- package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.test.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -1
- package/dist/src/contexts/FeaturesProvider/FeaturesProvider.d.ts +21 -0
- package/dist/src/contexts/FeaturesProvider/useFeature.d.ts +53 -0
- package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +3 -0
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +38 -10
- package/dist/src/contexts/index.d.ts +1 -0
- package/dist/src/i18n/en/common.json.d.ts +5 -1
- package/dist/src/i18n/types.d.ts +195 -70
- package/dist/src/models/external.d.ts +63 -48
- package/dist/src/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +9 -7
- package/dist/src/shared/constants.d.ts +5 -3
- package/dist/src/test-utils/renderWithProviders.d.ts +2 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +57 -40
- package/package.json +23 -22
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +0 -29
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +0 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js +0 -60
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +0 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +0 -31
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +0 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.js +0 -49
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +0 -100
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +0 -110
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +0 -21
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +0 -48
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +0 -35
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +0 -23
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +0 -29
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +0 -411
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +0 -1
- package/dist/i18n/en/Payroll.Transition.json.js +0 -8
- package/dist/i18n/en/Payroll.Transition.json.js.map +0 -1
- package/dist/i18n/en/Payroll.TransitionCreation.json.js +0 -26
- package/dist/i18n/en/Payroll.TransitionCreation.json.js.map +0 -1
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +0 -1
- package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +0 -7
- package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +0 -55
- package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +0 -52
- package/dist/src/components/Payroll/Transition/index.d.ts +0 -2
- package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +0 -29
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreation.d.ts +0 -22
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +0 -9
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +0 -57
- package/dist/src/components/Payroll/TransitionCreation/index.d.ts +0 -2
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +0 -55
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +0 -24
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +0 -23
- package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +0 -2
- package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +0 -15
- package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +0 -28
- /package/dist/src/components/{Payroll/Transition/transitionStateMachine.test.d.ts → Common/DataView/getSortControls.test.d.ts} +0 -0
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
import { jsx as t, jsxs as s, Fragment as ee } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as be, useMemo as Ee, Fragment as ge } from "react";
|
|
3
|
+
import { useTranslation as ie } from "react-i18next";
|
|
4
|
+
import Ce from "classnames";
|
|
5
|
+
import { PayrollUpdatePaymentMethod as ye } from "@gusto/embedded-api/models/components/payrollupdate";
|
|
6
|
+
import { isSplitByWorkweek as B } from "../PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js";
|
|
7
|
+
import { PayrollEditEmployeeErrorCodes as P } from "../PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js";
|
|
8
|
+
import f from "./RropPayrollEditEmployee.module.scss.js";
|
|
9
|
+
import { componentEvents as te, BREAKPOINTS as ve, COMPENSATION_NAME_REIMBURSEMENT as Ne, COMPENSATION_NAME_PAYCHECK_TIPS as Oe, COMPENSATION_NAME_CASH_TIPS as Re, COMPENSATION_NAME_CORRECTION_PAYMENT as Ae, COMPENSATION_NAME_COMMISSION as Pe, COMPENSATION_NAME_BONUS as Te, COMPENSATION_NAME_DOUBLE_OVERTIME as Me, COMPENSATION_NAME_OVERTIME as Se, COMPENSATION_NAME_REGULAR_HOURS as ke } from "../../../shared/constants.js";
|
|
10
|
+
import { BaseBoundaries as we, BaseLayout as re } from "../../Base/Base.js";
|
|
11
|
+
import "../../Base/useBase.js";
|
|
12
|
+
import { useComponentDictionary as xe, useI18n as Le } from "../../../i18n/I18n.js";
|
|
13
|
+
import { useComponentContext as ae } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
14
|
+
import { Flex as c } from "../../Common/Flex/Flex.js";
|
|
15
|
+
import { Grid as _e } from "../../Common/Grid/Grid.js";
|
|
16
|
+
import { EmptyData as De } from "../../Common/EmptyData/EmptyData.js";
|
|
17
|
+
import { SDKFormProvider as Ie } from "../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
18
|
+
import { firstLastName as Fe, formatNumberAsCurrency as He } from "../../../helpers/formattedStrings.js";
|
|
19
|
+
import { useDateFormatter as Be } from "../../../hooks/useDateFormatter.js";
|
|
20
|
+
import Ue from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
|
|
21
|
+
import ne from "../../../assets/icons/plus-circle.svg.js";
|
|
22
|
+
import je from "../../../assets/icons/trashcan.svg.js";
|
|
23
|
+
import { usePayrollEditEmployeeForm as Ve } from "../PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js";
|
|
24
|
+
import { DataView as T } from "../../Common/DataView/DataView.js";
|
|
25
|
+
import { useDataView as We } from "../../Common/DataView/useDataView.js";
|
|
26
|
+
function Ct({
|
|
27
|
+
FallbackComponent: b,
|
|
28
|
+
LoaderComponent: E,
|
|
29
|
+
...N
|
|
30
|
+
}) {
|
|
31
|
+
return /* @__PURE__ */ t(
|
|
32
|
+
we,
|
|
33
|
+
{
|
|
34
|
+
componentName: "Payroll.RropPayrollEditEmployee",
|
|
35
|
+
FallbackComponent: b,
|
|
36
|
+
LoaderComponent: E,
|
|
37
|
+
children: /* @__PURE__ */ t(Ye, { LoaderComponent: E, ...N })
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
const Ge = ({
|
|
42
|
+
rows: b,
|
|
43
|
+
isAdding: E,
|
|
44
|
+
draftFields: N,
|
|
45
|
+
onBeginAdd: M,
|
|
46
|
+
onSave: S,
|
|
47
|
+
onCancel: x,
|
|
48
|
+
onRemove: k
|
|
49
|
+
}) => {
|
|
50
|
+
const { t: e } = ie("Payroll.RropPayrollEditEmployee"), { Button: C, ButtonIcon: w, Heading: y } = ae(), { Description: v, Amount: O } = N, R = We({
|
|
51
|
+
data: b,
|
|
52
|
+
columns: [
|
|
53
|
+
{
|
|
54
|
+
key: "description",
|
|
55
|
+
title: e("reimbursementDescriptionColumn"),
|
|
56
|
+
render: (m) => m.description.trim() || e("reimbursementUnnamedFallback")
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
key: "amount",
|
|
60
|
+
title: e("reimbursementAmountColumn"),
|
|
61
|
+
justify: "end",
|
|
62
|
+
render: (m) => He(parseFloat(m.amount || "0"))
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
key: "recurring",
|
|
66
|
+
title: e("reimbursementTypeColumn"),
|
|
67
|
+
render: (m) => m.recurring ? e("reimbursementTypeRecurring") : e("reimbursementTypeOneTime")
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
itemMenu: (m) => {
|
|
71
|
+
if (m.recurring) return null;
|
|
72
|
+
const A = m.description.trim() || e("reimbursementUnnamedFallback");
|
|
73
|
+
return /* @__PURE__ */ t(
|
|
74
|
+
w,
|
|
75
|
+
{
|
|
76
|
+
variant: "tertiary",
|
|
77
|
+
onClick: () => {
|
|
78
|
+
k(m.index);
|
|
79
|
+
},
|
|
80
|
+
"aria-label": e("removeReimbursementLabel", { description: A }),
|
|
81
|
+
children: /* @__PURE__ */ t(je, { "aria-hidden": !0 })
|
|
82
|
+
}
|
|
83
|
+
);
|
|
84
|
+
},
|
|
85
|
+
emptyState: () => /* @__PURE__ */ t(De, { title: e("reimbursementEmptyTitle"), children: /* @__PURE__ */ t(C, { variant: "secondary", onClick: M, icon: /* @__PURE__ */ t(ne, { "aria-hidden": !0 }), children: e("addReimbursementCta") }) })
|
|
86
|
+
});
|
|
87
|
+
return /* @__PURE__ */ s(c, { flexDirection: "column", gap: 12, children: [
|
|
88
|
+
/* @__PURE__ */ t(y, { as: "h3", styledAs: "h4", children: e("reimbursementTitle") }),
|
|
89
|
+
!(b.length === 0 && E) && /* @__PURE__ */ t(T, { label: e("reimbursementsTableLabel"), ...R }),
|
|
90
|
+
E ? /* @__PURE__ */ s(c, { flexDirection: "column", gap: 12, children: [
|
|
91
|
+
/* @__PURE__ */ s(_e, { gridTemplateColumns: { base: "1fr", small: [320, 320] }, gap: 20, children: [
|
|
92
|
+
/* @__PURE__ */ t(
|
|
93
|
+
v,
|
|
94
|
+
{
|
|
95
|
+
label: e("reimbursementDescriptionLabel"),
|
|
96
|
+
placeholder: e("reimbursementDescriptionPlaceholder")
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
/* @__PURE__ */ t(O, { label: e("reimbursementAmountLabel"), adornmentStart: "$", isRequired: !0 })
|
|
100
|
+
] }),
|
|
101
|
+
/* @__PURE__ */ s(c, { gap: 12, children: [
|
|
102
|
+
/* @__PURE__ */ t(C, { onClick: S, title: e("saveReimbursementCta"), children: e("saveReimbursementCta") }),
|
|
103
|
+
/* @__PURE__ */ t(C, { variant: "secondary", onClick: x, title: e("cancelReimbursementCta"), children: e("cancelReimbursementCta") })
|
|
104
|
+
] })
|
|
105
|
+
] }) : b.length > 0 && /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(
|
|
106
|
+
C,
|
|
107
|
+
{
|
|
108
|
+
variant: "secondary",
|
|
109
|
+
onClick: M,
|
|
110
|
+
title: e("addReimbursementLink"),
|
|
111
|
+
icon: /* @__PURE__ */ t(ne, { "aria-hidden": !0 }),
|
|
112
|
+
children: e("addReimbursementLink")
|
|
113
|
+
}
|
|
114
|
+
) })
|
|
115
|
+
] });
|
|
116
|
+
}, Ye = ({
|
|
117
|
+
employeeId: b,
|
|
118
|
+
companyId: E,
|
|
119
|
+
payrollId: N,
|
|
120
|
+
withReimbursements: M = !0,
|
|
121
|
+
onEvent: S,
|
|
122
|
+
dictionary: x,
|
|
123
|
+
LoaderComponent: k
|
|
124
|
+
}) => {
|
|
125
|
+
xe("Payroll.RropPayrollEditEmployee", x), Le("Payroll.RropPayrollEditEmployee");
|
|
126
|
+
const { t: e } = ie("Payroll.RropPayrollEditEmployee"), C = Be(), { Alert: w, Box: y, BoxHeader: v, Button: O, Heading: R, Text: m } = ae(), A = be(null), g = Ue({ ref: A }).includes("small"), oe = Ee(
|
|
127
|
+
() => ({
|
|
128
|
+
[P.NEGATIVE_AMOUNT]: e("validations.negativeAmount"),
|
|
129
|
+
[P.MAX_HOURS]: e("validations.maxHours"),
|
|
130
|
+
[P.REQUIRED_WORKWEEK]: e("validations.requiredWorkweek"),
|
|
131
|
+
[P.REIMBURSEMENT_AMOUNT]: e("validations.reimbursementAmount"),
|
|
132
|
+
[P.MAX_REIMBURSEMENT_AMOUNT]: e(
|
|
133
|
+
"validations.maxReimbursementAmount"
|
|
134
|
+
)
|
|
135
|
+
}),
|
|
136
|
+
[e]
|
|
137
|
+
), n = Ve({
|
|
138
|
+
employeeId: b,
|
|
139
|
+
companyId: E,
|
|
140
|
+
payrollId: N,
|
|
141
|
+
withReimbursements: M,
|
|
142
|
+
errorMessages: oe
|
|
143
|
+
});
|
|
144
|
+
if (n.isLoading)
|
|
145
|
+
return /* @__PURE__ */ t("div", { ref: A, className: f.container, children: /* @__PURE__ */ t(re, { isLoading: !0, error: n.errorHandling.errors, LoaderComponent: k }) });
|
|
146
|
+
const { employee: L } = n.data, u = n.form.Fields, U = Fe({
|
|
147
|
+
first_name: L.firstName,
|
|
148
|
+
last_name: L.lastName
|
|
149
|
+
}), le = (r) => {
|
|
150
|
+
switch (r) {
|
|
151
|
+
case ke:
|
|
152
|
+
return e("compensationNames.regularHours");
|
|
153
|
+
case Se:
|
|
154
|
+
return e("compensationNames.overtime");
|
|
155
|
+
case Me:
|
|
156
|
+
return e("compensationNames.doubleOvertime");
|
|
157
|
+
default:
|
|
158
|
+
return r;
|
|
159
|
+
}
|
|
160
|
+
}, _ = (r) => {
|
|
161
|
+
switch (r) {
|
|
162
|
+
case Te:
|
|
163
|
+
return e("fixedCompensationNames.bonus");
|
|
164
|
+
case Pe:
|
|
165
|
+
return e("fixedCompensationNames.commission");
|
|
166
|
+
case Ae:
|
|
167
|
+
return e("fixedCompensationNames.correctionPayment");
|
|
168
|
+
case Re:
|
|
169
|
+
return e("fixedCompensationNames.cashTips");
|
|
170
|
+
case Oe:
|
|
171
|
+
return e("fixedCompensationNames.paycheckTips");
|
|
172
|
+
case Ne:
|
|
173
|
+
return e("fixedCompensationNames.reimbursement");
|
|
174
|
+
default:
|
|
175
|
+
return r;
|
|
176
|
+
}
|
|
177
|
+
}, D = (r) => B(r) ? r[n.data.workweeks[0]?.startDate ?? ""] ?? [] : r, j = (r, i) => {
|
|
178
|
+
const { label: l, rowHeader: a, valueColumnLabel: o, labelFor: p, adornmentStart: d, adornmentEnd: pe } = i, I = B(r), K = D(r), z = (h, F) => /* @__PURE__ */ t("div", { className: Ce(f.inputContainer, I && f.workweekInputContainer), children: /* @__PURE__ */ t(
|
|
179
|
+
h.Field,
|
|
180
|
+
{
|
|
181
|
+
label: F,
|
|
182
|
+
shouldVisuallyHideLabel: !0,
|
|
183
|
+
adornmentStart: d,
|
|
184
|
+
adornmentEnd: pe
|
|
185
|
+
}
|
|
186
|
+
) }), he = {
|
|
187
|
+
title: o,
|
|
188
|
+
justify: "end",
|
|
189
|
+
render: (h) => z(h, p(h.name))
|
|
190
|
+
}, fe = n.data.workweeks.map(
|
|
191
|
+
({ startDate: h, endDate: F }) => {
|
|
192
|
+
const J = C.formatPayPeriodRange(h, F, {
|
|
193
|
+
useShortMonth: !0
|
|
194
|
+
});
|
|
195
|
+
return {
|
|
196
|
+
title: J,
|
|
197
|
+
justify: "end",
|
|
198
|
+
render: (H) => {
|
|
199
|
+
const Q = r[h]?.find(
|
|
200
|
+
(Z) => Z.jobUuid === H.jobUuid && Z.name === H.name
|
|
201
|
+
);
|
|
202
|
+
return Q ? z(Q, `${p(H.name)} ${J}`) : null;
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
), X = [
|
|
207
|
+
{ title: a, render: (h) => p(h.name) },
|
|
208
|
+
...I ? fe : [he]
|
|
209
|
+
];
|
|
210
|
+
return I ? /* @__PURE__ */ t("div", { className: f.workweekTableScroll, children: /* @__PURE__ */ t(
|
|
211
|
+
T,
|
|
212
|
+
{
|
|
213
|
+
label: l,
|
|
214
|
+
isWithinBox: !0,
|
|
215
|
+
columns: X,
|
|
216
|
+
data: K,
|
|
217
|
+
breakAt: ve.SMALL
|
|
218
|
+
}
|
|
219
|
+
) }) : /* @__PURE__ */ t(T, { label: l, isWithinBox: !0, columns: X, data: K });
|
|
220
|
+
}, se = (r, i) => {
|
|
221
|
+
const { title: l, footer: a, ...o } = i;
|
|
222
|
+
return D(r).length === 0 && !a ? null : /* @__PURE__ */ t(y, { header: /* @__PURE__ */ t(v, { title: l }), withPadding: !1, footer: a, children: j(r, o) });
|
|
223
|
+
}, V = (r, i) => {
|
|
224
|
+
if (r.length === 0) return null;
|
|
225
|
+
const { title: l, description: a, isFinalPayout: o = !1 } = i, p = [
|
|
226
|
+
{
|
|
227
|
+
title: e("typeColumn"),
|
|
228
|
+
render: (d) => d.name
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
title: e(o ? "hoursColumn" : "additionalHoursColumn"),
|
|
232
|
+
justify: "end",
|
|
233
|
+
render: (d) => /* @__PURE__ */ t("div", { className: f.inputContainer, children: /* @__PURE__ */ t(
|
|
234
|
+
d.Field,
|
|
235
|
+
{
|
|
236
|
+
label: d.name,
|
|
237
|
+
shouldVisuallyHideLabel: !0,
|
|
238
|
+
adornmentEnd: e("hoursUnit"),
|
|
239
|
+
description: d.remaining !== null ? e("timeOffBalance.remaining", { balance: d.remaining }) : void 0
|
|
240
|
+
}
|
|
241
|
+
) })
|
|
242
|
+
}
|
|
243
|
+
];
|
|
244
|
+
return o || p.splice(1, 0, {
|
|
245
|
+
title: e("preapprovedHoursColumn"),
|
|
246
|
+
justify: "end",
|
|
247
|
+
render: (d) => d.approvedRequestHours && d.approvedRequestHours > 0 ? d.approvedRequestHours : null
|
|
248
|
+
}), /* @__PURE__ */ t(y, { header: /* @__PURE__ */ t(v, { title: l, description: a }), withPadding: !1, children: /* @__PURE__ */ t(T, { label: l, isWithinBox: !0, columns: p, data: r }) });
|
|
249
|
+
}, W = (r, i) => {
|
|
250
|
+
const l = [
|
|
251
|
+
{ title: e("typeColumn"), render: (a) => a.label },
|
|
252
|
+
{
|
|
253
|
+
title: e("amountColumn"),
|
|
254
|
+
justify: "end",
|
|
255
|
+
render: (a) => /* @__PURE__ */ t("div", { className: f.inputContainer, children: /* @__PURE__ */ t(a.Field, { label: a.label, shouldVisuallyHideLabel: !0, adornmentStart: "$" }) })
|
|
256
|
+
}
|
|
257
|
+
];
|
|
258
|
+
return /* @__PURE__ */ t(T, { label: i, isWithinBox: !0, columns: l, data: r });
|
|
259
|
+
}, G = (r) => /* @__PURE__ */ t("div", { className: f.earningsGroupLabel, children: /* @__PURE__ */ t(m, { size: "sm", weight: "semibold", children: r }) }), me = () => {
|
|
260
|
+
const r = u.overtimeIncludedEarnings, i = u.overtimeExcludedEarnings.map((o) => ({
|
|
261
|
+
label: _(o.id),
|
|
262
|
+
Field: o.Field
|
|
263
|
+
})), l = D(r).length > 0;
|
|
264
|
+
if (!l && i.length === 0) return null;
|
|
265
|
+
const a = j(r, {
|
|
266
|
+
label: e("additionalEarningsTitle"),
|
|
267
|
+
rowHeader: e("typeColumn"),
|
|
268
|
+
valueColumnLabel: e("amountColumn"),
|
|
269
|
+
labelFor: _,
|
|
270
|
+
adornmentStart: "$"
|
|
271
|
+
});
|
|
272
|
+
if (!B(r)) {
|
|
273
|
+
const o = [
|
|
274
|
+
...r.map((p) => ({ label: _(p.name), Field: p.Field })),
|
|
275
|
+
...i
|
|
276
|
+
];
|
|
277
|
+
return /* @__PURE__ */ t(y, { header: /* @__PURE__ */ t(v, { title: e("additionalEarningsTitle") }), withPadding: !1, children: W(o, e("additionalEarningsTitle")) });
|
|
278
|
+
}
|
|
279
|
+
return /* @__PURE__ */ s(y, { header: /* @__PURE__ */ t(v, { title: e("additionalEarningsTitle") }), withPadding: !1, children: [
|
|
280
|
+
l ? /* @__PURE__ */ s(ee, { children: [
|
|
281
|
+
/* @__PURE__ */ t("div", { className: f.earningsAlert, children: /* @__PURE__ */ t(
|
|
282
|
+
w,
|
|
283
|
+
{
|
|
284
|
+
status: "info",
|
|
285
|
+
label: e("overtimeMultiplierEarningsAlert"),
|
|
286
|
+
disableScrollIntoView: !0,
|
|
287
|
+
children: /* @__PURE__ */ t(m, { size: "sm", children: e("overtimeMultiplierEarningsAlertDescription") })
|
|
288
|
+
}
|
|
289
|
+
) }),
|
|
290
|
+
G(e("overtimeIncludedEarningsGroupLabel")),
|
|
291
|
+
a
|
|
292
|
+
] }) : null,
|
|
293
|
+
i.length > 0 ? /* @__PURE__ */ s(ee, { children: [
|
|
294
|
+
G(e("overtimeExcludedEarningsGroupLabel")),
|
|
295
|
+
W(i, e("overtimeExcludedEarningsGroupLabel"))
|
|
296
|
+
] }) : null
|
|
297
|
+
] });
|
|
298
|
+
}, Y = u.paymentMethod, $ = u.reimbursementDraft, de = n.data.reimbursements, ue = n.form.reimbursementDraft?.isAdding ?? !1, ce = async () => {
|
|
299
|
+
const r = await n.actions.onSubmit();
|
|
300
|
+
r && S(te.RUN_PAYROLL_EMPLOYEE_SAVED, {
|
|
301
|
+
payrollPrepared: r.data,
|
|
302
|
+
employee: L
|
|
303
|
+
});
|
|
304
|
+
}, q = /* @__PURE__ */ s(
|
|
305
|
+
c,
|
|
306
|
+
{
|
|
307
|
+
flexDirection: g ? "row" : "column",
|
|
308
|
+
justifyContent: g ? "flex-end" : "normal",
|
|
309
|
+
alignItems: g ? "flex-start" : "stretch",
|
|
310
|
+
gap: 12,
|
|
311
|
+
children: [
|
|
312
|
+
/* @__PURE__ */ t(O, { variant: "secondary", onClick: () => {
|
|
313
|
+
S(te.RUN_PAYROLL_EMPLOYEE_CANCELLED);
|
|
314
|
+
}, title: e("cancelCta"), children: e("cancelCta") }),
|
|
315
|
+
/* @__PURE__ */ t(
|
|
316
|
+
O,
|
|
317
|
+
{
|
|
318
|
+
onClick: () => {
|
|
319
|
+
ce();
|
|
320
|
+
},
|
|
321
|
+
title: e("saveCta"),
|
|
322
|
+
isLoading: n.status.isPending,
|
|
323
|
+
children: e("saveCta")
|
|
324
|
+
}
|
|
325
|
+
)
|
|
326
|
+
]
|
|
327
|
+
}
|
|
328
|
+
);
|
|
329
|
+
return /* @__PURE__ */ t("div", { ref: A, className: f.container, children: /* @__PURE__ */ t(re, { error: n.errorHandling.errors, LoaderComponent: k, children: /* @__PURE__ */ t(Ie, { formHookResult: n, children: /* @__PURE__ */ s(c, { flexDirection: "column", gap: 24, children: [
|
|
330
|
+
/* @__PURE__ */ s(
|
|
331
|
+
c,
|
|
332
|
+
{
|
|
333
|
+
flexDirection: g ? "row" : "column",
|
|
334
|
+
justifyContent: "space-between",
|
|
335
|
+
alignItems: g ? "flex-start" : "stretch",
|
|
336
|
+
gap: 12,
|
|
337
|
+
children: [
|
|
338
|
+
/* @__PURE__ */ t(c, { flexDirection: "column", alignItems: "stretch", gap: 8, children: /* @__PURE__ */ t(R, { as: "h1", styledAs: "h2", children: e("pageTitle", { employeeName: U }) }) }),
|
|
339
|
+
g && q
|
|
340
|
+
]
|
|
341
|
+
}
|
|
342
|
+
),
|
|
343
|
+
!g && q,
|
|
344
|
+
(() => {
|
|
345
|
+
const r = u.jobs.length > 1, i = n.data.isOvertimeEligible ? e("regularHoursTitle") : e("regularHoursTitleWithoutOvertime"), l = !n.data.withOvertime && n.data.isOvertimeEligible, a = n.data.withOvertime && n.data.isOvertimeEligible;
|
|
346
|
+
return /* @__PURE__ */ s(c, { flexDirection: "column", gap: 16, children: [
|
|
347
|
+
r ? /* @__PURE__ */ t(R, { as: "h3", children: i }) : null,
|
|
348
|
+
a ? /* @__PURE__ */ t(
|
|
349
|
+
w,
|
|
350
|
+
{
|
|
351
|
+
status: "info",
|
|
352
|
+
label: e("overtimeWorkweekAlert", { employeeName: U }),
|
|
353
|
+
disableScrollIntoView: !0
|
|
354
|
+
}
|
|
355
|
+
) : null,
|
|
356
|
+
u.jobs.map((o) => /* @__PURE__ */ t(ge, { children: se(o.hours, {
|
|
357
|
+
title: r ? o.title ?? i : i,
|
|
358
|
+
label: i,
|
|
359
|
+
rowHeader: e("hourTypeColumn"),
|
|
360
|
+
valueColumnLabel: e("hoursColumn"),
|
|
361
|
+
labelFor: le,
|
|
362
|
+
adornmentEnd: e("hoursUnit"),
|
|
363
|
+
footer: l ? /* @__PURE__ */ t(
|
|
364
|
+
O,
|
|
365
|
+
{
|
|
366
|
+
variant: "secondary",
|
|
367
|
+
onClick: () => {
|
|
368
|
+
n.actions.addOvertime();
|
|
369
|
+
},
|
|
370
|
+
title: e("addOvertimeCta"),
|
|
371
|
+
children: e("addOvertimeCta")
|
|
372
|
+
}
|
|
373
|
+
) : void 0
|
|
374
|
+
}) }, o.jobUuid))
|
|
375
|
+
] });
|
|
376
|
+
})(),
|
|
377
|
+
me(),
|
|
378
|
+
V(u.timeOff, {
|
|
379
|
+
title: u.finalPayout ? e("timeOffTitleDismissal") : e("timeOffTitle")
|
|
380
|
+
}),
|
|
381
|
+
u.finalPayout ? V(u.finalPayout, {
|
|
382
|
+
title: e("finalPayoutTitle"),
|
|
383
|
+
isFinalPayout: !0,
|
|
384
|
+
description: e("finalPayoutDescription")
|
|
385
|
+
}) : null,
|
|
386
|
+
Y ? /* @__PURE__ */ s(c, { flexDirection: "column", gap: 24, children: [
|
|
387
|
+
$ ? /* @__PURE__ */ t(
|
|
388
|
+
Ge,
|
|
389
|
+
{
|
|
390
|
+
rows: de ?? [],
|
|
391
|
+
isAdding: ue,
|
|
392
|
+
draftFields: $,
|
|
393
|
+
onBeginAdd: () => n.actions.beginAddReimbursement?.(),
|
|
394
|
+
onSave: () => n.actions.saveReimbursement?.(),
|
|
395
|
+
onCancel: () => n.actions.cancelReimbursement?.(),
|
|
396
|
+
onRemove: (r) => n.actions.removeReimbursement?.(r)
|
|
397
|
+
}
|
|
398
|
+
) : null,
|
|
399
|
+
/* @__PURE__ */ s(c, { flexDirection: "column", gap: 12, children: [
|
|
400
|
+
/* @__PURE__ */ t(R, { as: "h3", styledAs: "h4", children: e("paymentMethodTitle") }),
|
|
401
|
+
/* @__PURE__ */ t(
|
|
402
|
+
Y,
|
|
403
|
+
{
|
|
404
|
+
label: e("paymentMethodLabel"),
|
|
405
|
+
description: e("paymentMethodDescription"),
|
|
406
|
+
getOptionLabel: (r) => r === ye.Check ? e("paymentMethodOptions.check") : e("paymentMethodOptions.directDeposit")
|
|
407
|
+
}
|
|
408
|
+
)
|
|
409
|
+
] })
|
|
410
|
+
] }) : null
|
|
411
|
+
] }) }) }) });
|
|
412
|
+
};
|
|
413
|
+
export {
|
|
414
|
+
Ct as RropPayrollEditEmployee
|
|
415
|
+
};
|
|
416
|
+
//# sourceMappingURL=RropPayrollEditEmployee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RropPayrollEditEmployee.js","sources":["../../../../src/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.tsx"],"sourcesContent":["import { Fragment, useMemo, useRef } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport { PayrollUpdatePaymentMethod } from '@gusto/embedded-api/models/components/payrollupdate'\nimport type { PayrollEditEmployeeProps } from '../PayrollEditEmployee/PayrollEditEmployee'\nimport { usePayrollEditEmployeeForm } from '../PayrollEditEmployee/shared/usePayrollEditEmployeeForm'\nimport {\n isSplitByWorkweek,\n type HourEntry,\n type TimeOffEntry,\n type ReimbursementRow,\n type ReimbursementDraftFields,\n} from '../PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields'\nimport { PayrollEditEmployeeErrorCodes } from '../PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema'\nimport styles from './RropPayrollEditEmployee.module.scss'\nimport {\n componentEvents,\n COMPENSATION_NAME_REGULAR_HOURS,\n COMPENSATION_NAME_OVERTIME,\n COMPENSATION_NAME_DOUBLE_OVERTIME,\n COMPENSATION_NAME_BONUS,\n COMPENSATION_NAME_COMMISSION,\n COMPENSATION_NAME_CORRECTION_PAYMENT,\n COMPENSATION_NAME_CASH_TIPS,\n COMPENSATION_NAME_PAYCHECK_TIPS,\n COMPENSATION_NAME_REIMBURSEMENT,\n BREAKPOINTS,\n} from '@/shared/constants'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Flex, Grid, DataView, useDataView, EmptyData } from '@/components/Common'\nimport type { useDataViewPropReturn } from '@/components/Common/DataView/useDataView'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { firstLastName, formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\n/**\n * Regular rate of pay (RRoP) rebuild of {@link PayrollEditEmployee}.\n *\n * @remarks\n * Not exported and not part of the public SDK surface. Partners reach it only through\n * `PayrollEditEmployee`, which renders it in place of the legacy editor unless the\n * `regularRateOfPay` flag in {@link Features} is set to `false`. Once that flag is removed, this\n * component replaces `PayrollEditEmployee` as the public export, and the\n * `Payroll.RropPayrollEditEmployee` translation namespace is renamed with it.\n *\n * Consumes {@link usePayrollEditEmployeeForm} and renders the header, the hours /\n * additional-earnings / time-off / payment-method sections, and the\n * `Cancel`/`Save` controls, performing a real payroll update on save. For an overtime-eligible\n * employee on a multi-workweek payroll, Overtime/Double-overtime rows start hidden behind a single,\n * employee-level \"Add overtime\" control (`form.data.withOvertime` / `form.actions.addOvertime`)\n * unless the employee already has real overtime hours or matching per-workweek breakdowns; adding\n * overtime also switches hours and overtime-affecting earnings to per-workweek columns and surfaces\n * the per-row \"fill in every workweek\" validation. `Cancel` and `Save` emit the same events as the\n * stable component so the surrounding flow behaves identically.\n *\n * @internal\n */\nexport function RropPayrollEditEmployee({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: PayrollEditEmployeeProps) {\n return (\n <BaseBoundaries\n componentName=\"Payroll.RropPayrollEditEmployee\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <Root LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\ninterface ReimbursementsSectionProps {\n rows: ReimbursementRow[]\n isAdding: boolean\n draftFields: ReimbursementDraftFields\n onBeginAdd: () => void\n onSave: () => void\n onCancel: () => void\n onRemove: (index: number) => void\n}\n\n// Reimbursement UI duplicated from the stable PayrollEditEmployeePresentation for\n// visual parity while the RRoP editor is developed alongside legacy. Powered by\n// usePayrollEditEmployeeForm rather than a local field array/draft form.\nconst ReimbursementsSection = ({\n rows,\n isAdding,\n draftFields,\n onBeginAdd,\n onSave,\n onCancel,\n onRemove,\n}: ReimbursementsSectionProps) => {\n const { t } = useTranslation('Payroll.RropPayrollEditEmployee')\n const { Button, ButtonIcon, Heading } = useComponentContext()\n const { Description, Amount } = draftFields\n\n const reimbursementDataViewProps = useDataView<ReimbursementRow>({\n data: rows,\n columns: [\n {\n key: 'description',\n title: t('reimbursementDescriptionColumn'),\n render: row => row.description.trim() || t('reimbursementUnnamedFallback'),\n },\n {\n key: 'amount',\n title: t('reimbursementAmountColumn'),\n justify: 'end',\n render: row => formatNumberAsCurrency(parseFloat(row.amount || '0')),\n },\n {\n key: 'recurring',\n title: t('reimbursementTypeColumn'),\n render: row =>\n row.recurring ? t('reimbursementTypeRecurring') : t('reimbursementTypeOneTime'),\n },\n ],\n itemMenu: row => {\n if (row.recurring) return null\n const displayDescription = row.description.trim() || t('reimbursementUnnamedFallback')\n return (\n <ButtonIcon\n variant=\"tertiary\"\n onClick={() => {\n onRemove(row.index)\n }}\n aria-label={t('removeReimbursementLabel', { description: displayDescription })}\n >\n <TrashCanSvg aria-hidden />\n </ButtonIcon>\n )\n },\n emptyState: () => (\n <EmptyData title={t('reimbursementEmptyTitle')}>\n <Button variant=\"secondary\" onClick={onBeginAdd} icon={<PlusCircleIcon aria-hidden />}>\n {t('addReimbursementCta')}\n </Button>\n </EmptyData>\n ),\n })\n\n return (\n <Flex flexDirection=\"column\" gap={12}>\n <Heading as=\"h3\" styledAs=\"h4\">\n {t('reimbursementTitle')}\n </Heading>\n {!(rows.length === 0 && isAdding) && (\n <DataView label={t('reimbursementsTableLabel')} {...reimbursementDataViewProps} />\n )}\n {isAdding ? (\n <Flex flexDirection=\"column\" gap={12}>\n <Grid gridTemplateColumns={{ base: '1fr', small: [320, 320] }} gap={20}>\n <Description\n label={t('reimbursementDescriptionLabel')}\n placeholder={t('reimbursementDescriptionPlaceholder')}\n />\n <Amount label={t('reimbursementAmountLabel')} adornmentStart=\"$\" isRequired />\n </Grid>\n <Flex gap={12}>\n <Button onClick={onSave} title={t('saveReimbursementCta')}>\n {t('saveReimbursementCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel} title={t('cancelReimbursementCta')}>\n {t('cancelReimbursementCta')}\n </Button>\n </Flex>\n </Flex>\n ) : (\n rows.length > 0 && (\n <div>\n <Button\n variant=\"secondary\"\n onClick={onBeginAdd}\n title={t('addReimbursementLink')}\n icon={<PlusCircleIcon aria-hidden />}\n >\n {t('addReimbursementLink')}\n </Button>\n </div>\n )\n )}\n </Flex>\n )\n}\n\nconst Root = ({\n employeeId,\n companyId,\n payrollId,\n withReimbursements = true,\n onEvent,\n dictionary,\n LoaderComponent,\n}: PayrollEditEmployeeProps) => {\n useComponentDictionary('Payroll.RropPayrollEditEmployee', dictionary)\n useI18n('Payroll.RropPayrollEditEmployee')\n const { t } = useTranslation('Payroll.RropPayrollEditEmployee')\n const dateFormatter = useDateFormatter()\n\n const { Alert, Box, BoxHeader, Button, Heading, Text } = useComponentContext()\n\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isSmallOrGreater = breakpoints.includes('small')\n\n // Error copy keyed by code, supplied to the hook once. Every bound field\n // resolves and renders its own message from this — the consumer never\n // reconstructs form paths or picks which rule a field can fail. Memoized so\n // the hook's fields aren't rebuilt each render.\n const errorMessages = useMemo(\n () => ({\n [PayrollEditEmployeeErrorCodes.NEGATIVE_AMOUNT]: t('validations.negativeAmount'),\n [PayrollEditEmployeeErrorCodes.MAX_HOURS]: t('validations.maxHours'),\n [PayrollEditEmployeeErrorCodes.REQUIRED_WORKWEEK]: t('validations.requiredWorkweek'),\n [PayrollEditEmployeeErrorCodes.REIMBURSEMENT_AMOUNT]: t('validations.reimbursementAmount'),\n [PayrollEditEmployeeErrorCodes.MAX_REIMBURSEMENT_AMOUNT]: t(\n 'validations.maxReimbursementAmount',\n ),\n }),\n [t],\n )\n\n const form = usePayrollEditEmployeeForm({\n employeeId,\n companyId,\n payrollId,\n withReimbursements,\n errorMessages,\n })\n\n if (form.isLoading) {\n return (\n <div ref={containerRef} className={styles.container}>\n <BaseLayout isLoading error={form.errorHandling.errors} LoaderComponent={LoaderComponent} />\n </div>\n )\n }\n\n const { employee } = form.data\n const Fields = form.form.Fields\n\n const employeeName = firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n\n const hoursLabel = (name: string) => {\n switch (name) {\n case COMPENSATION_NAME_REGULAR_HOURS:\n return t('compensationNames.regularHours')\n case COMPENSATION_NAME_OVERTIME:\n return t('compensationNames.overtime')\n case COMPENSATION_NAME_DOUBLE_OVERTIME:\n return t('compensationNames.doubleOvertime')\n default:\n return name\n }\n }\n\n const earningLabel = (name: string) => {\n switch (name) {\n case COMPENSATION_NAME_BONUS:\n return t('fixedCompensationNames.bonus')\n case COMPENSATION_NAME_COMMISSION:\n return t('fixedCompensationNames.commission')\n case COMPENSATION_NAME_CORRECTION_PAYMENT:\n return t('fixedCompensationNames.correctionPayment')\n case COMPENSATION_NAME_CASH_TIPS:\n return t('fixedCompensationNames.cashTips')\n case COMPENSATION_NAME_PAYCHECK_TIPS:\n return t('fixedCompensationNames.paycheckTips')\n case COMPENSATION_NAME_REIMBURSEMENT:\n return t('fixedCompensationNames.reimbursement')\n default:\n return name\n }\n }\n\n // The visible rows for a section: the first workweek's rows drive the row set\n // (workweek columns fan out from there), or the flat list when not split.\n const getSectionRows = (section: HourEntry[] | Record<string, HourEntry[]>) =>\n isSplitByWorkweek(section) ? (section[form.data.workweeks[0]?.startDate ?? ''] ?? []) : section\n\n const buildBreakdownDataView = (\n section: HourEntry[] | Record<string, HourEntry[]>,\n options: {\n label: string\n rowHeader: string\n valueColumnLabel: string\n labelFor: (name: string) => string\n adornmentStart?: string\n adornmentEnd?: string\n },\n ) => {\n const { label, rowHeader, valueColumnLabel, labelFor, adornmentStart, adornmentEnd } = options\n const split = isSplitByWorkweek(section)\n const rows = getSectionRows(section)\n\n const renderField = (entry: HourEntry, fieldLabel: string) => (\n <div className={classNames(styles.inputContainer, split && styles.workweekInputContainer)}>\n <entry.Field\n label={fieldLabel}\n shouldVisuallyHideLabel\n adornmentStart={adornmentStart}\n adornmentEnd={adornmentEnd}\n />\n </div>\n )\n\n const valueColumn: useDataViewPropReturn<HourEntry>['columns'][number] = {\n title: valueColumnLabel,\n justify: 'end',\n render: row => renderField(row, labelFor(row.name)),\n }\n\n // Columns come straight from the hook's normalized workweeks, so each header\n // has both boundary dates without re-deriving them from the raw payroll.\n const workweekColumns: useDataViewPropReturn<HourEntry>['columns'] = form.data.workweeks.map(\n ({ startDate, endDate }) => {\n const rangeLabel = dateFormatter.formatPayPeriodRange(startDate, endDate, {\n useShortMonth: true,\n })\n return {\n title: rangeLabel,\n justify: 'end',\n render: row => {\n const cell = (section as Record<string, HourEntry[]>)[startDate]?.find(\n entry => entry.jobUuid === row.jobUuid && entry.name === row.name,\n )\n return cell ? renderField(cell, `${labelFor(row.name)} ${rangeLabel}`) : null\n },\n }\n },\n )\n\n const columns: useDataViewPropReturn<HourEntry>['columns'] = [\n { title: rowHeader, render: row => labelFor(row.name) },\n ...(split ? workweekColumns : [valueColumn]),\n ]\n\n if (!split) {\n return <DataView label={label} isWithinBox columns={columns} data={rows} />\n }\n\n return (\n <div className={styles.workweekTableScroll}>\n <DataView\n label={label}\n isWithinBox\n columns={columns}\n data={rows}\n breakAt={BREAKPOINTS.SMALL}\n />\n </div>\n )\n }\n\n const renderBreakdownSection = (\n section: HourEntry[] | Record<string, HourEntry[]>,\n options: {\n title: string\n label: string\n rowHeader: string\n valueColumnLabel: string\n labelFor: (name: string) => string\n adornmentStart?: string\n adornmentEnd?: string\n footer?: React.ReactNode\n },\n ) => {\n const { title, footer, ...viewOptions } = options\n if (getSectionRows(section).length === 0 && !footer) return null\n\n return (\n <Box header={<BoxHeader title={title} />} withPadding={false} footer={footer}>\n {buildBreakdownDataView(section, viewOptions)}\n </Box>\n )\n }\n\n const renderTimeOffSection = (\n entries: TimeOffEntry[],\n options: { title: string; description?: string; isFinalPayout?: boolean },\n ) => {\n if (entries.length === 0) return null\n const { title, description, isFinalPayout = false } = options\n\n const columns: useDataViewPropReturn<TimeOffEntry>['columns'] = [\n {\n title: t('typeColumn'),\n render: entry => entry.name,\n },\n {\n title: isFinalPayout ? t('hoursColumn') : t('additionalHoursColumn'),\n justify: 'end',\n render: entry => (\n <div className={styles.inputContainer}>\n <entry.Field\n label={entry.name}\n shouldVisuallyHideLabel\n adornmentEnd={t('hoursUnit')}\n description={\n entry.remaining !== null\n ? t('timeOffBalance.remaining', { balance: entry.remaining })\n : undefined\n }\n />\n </div>\n ),\n },\n ]\n\n if (!isFinalPayout) {\n columns.splice(1, 0, {\n title: t('preapprovedHoursColumn'),\n justify: 'end',\n render: entry =>\n entry.approvedRequestHours && entry.approvedRequestHours > 0\n ? entry.approvedRequestHours\n : null,\n })\n }\n\n return (\n <Box header={<BoxHeader title={title} description={description} />} withPadding={false}>\n <DataView label={title} isWithinBox columns={columns} data={entries} />\n </Box>\n )\n }\n\n // A flat single-amount earnings table: one \"type\" column and one \"$\" input\n // column. Used for the merged no-overtime list and the overtime-excluded group.\n const renderAmountTable = (\n rows: { label: string; Field: HourEntry['Field'] }[],\n label: string,\n ) => {\n const columns: useDataViewPropReturn<(typeof rows)[number]>['columns'] = [\n { title: t('typeColumn'), render: row => row.label },\n {\n title: t('amountColumn'),\n justify: 'end',\n render: row => (\n <div className={styles.inputContainer}>\n <row.Field label={row.label} shouldVisuallyHideLabel adornmentStart=\"$\" />\n </div>\n ),\n },\n ]\n return <DataView label={label} isWithinBox columns={columns} data={rows} />\n }\n\n const renderGroupLabel = (label: string) => (\n <div className={styles.earningsGroupLabel}>\n <Text size=\"sm\" weight=\"semibold\">\n {label}\n </Text>\n </div>\n )\n\n const renderEarningsSection = () => {\n const includedEarnings = Fields.overtimeIncludedEarnings\n const excludedRows = Fields.overtimeExcludedEarnings.map(entry => ({\n label: earningLabel(entry.id),\n Field: entry.Field,\n }))\n\n const hasIncluded = getSectionRows(includedEarnings).length > 0\n if (!hasIncluded && excludedRows.length === 0) return null\n\n const includedTable = buildBreakdownDataView(includedEarnings, {\n label: t('additionalEarningsTitle'),\n rowHeader: t('typeColumn'),\n valueColumnLabel: t('amountColumn'),\n labelFor: earningLabel,\n adornmentStart: '$',\n })\n\n // Split into per-workweek columns and labeled overtime groups only once\n // overtime is added (the included section becomes workweek-keyed). Otherwise\n // included and excluded earnings render together as one flat list.\n if (!isSplitByWorkweek(includedEarnings)) {\n const mergedRows = [\n ...includedEarnings.map(entry => ({ label: earningLabel(entry.name), Field: entry.Field })),\n ...excludedRows,\n ]\n return (\n <Box header={<BoxHeader title={t('additionalEarningsTitle')} />} withPadding={false}>\n {renderAmountTable(mergedRows, t('additionalEarningsTitle'))}\n </Box>\n )\n }\n\n return (\n <Box header={<BoxHeader title={t('additionalEarningsTitle')} />} withPadding={false}>\n {hasIncluded ? (\n <>\n <div className={styles.earningsAlert}>\n <Alert\n status=\"info\"\n label={t('overtimeMultiplierEarningsAlert')}\n disableScrollIntoView\n >\n <Text size=\"sm\">{t('overtimeMultiplierEarningsAlertDescription')}</Text>\n </Alert>\n </div>\n {renderGroupLabel(t('overtimeIncludedEarningsGroupLabel'))}\n {includedTable}\n </>\n ) : null}\n {excludedRows.length > 0 ? (\n <>\n {renderGroupLabel(t('overtimeExcludedEarningsGroupLabel'))}\n {renderAmountTable(excludedRows, t('overtimeExcludedEarningsGroupLabel'))}\n </>\n ) : null}\n </Box>\n )\n }\n\n const PaymentMethodField = Fields.paymentMethod\n const ReimbursementDraft = Fields.reimbursementDraft\n const reimbursementRows = form.data.reimbursements\n const isAddingReimbursement = form.form.reimbursementDraft?.isAdding ?? false\n\n const handleSave = async () => {\n const result = await form.actions.onSubmit()\n if (!result) return\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.data,\n employee,\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED)\n }\n\n const actions = (\n <Flex\n flexDirection={isSmallOrGreater ? 'row' : 'column'}\n justifyContent={isSmallOrGreater ? 'flex-end' : 'normal'}\n alignItems={isSmallOrGreater ? 'flex-start' : 'stretch'}\n gap={12}\n >\n <Button variant=\"secondary\" onClick={handleCancel} title={t('cancelCta')}>\n {t('cancelCta')}\n </Button>\n <Button\n onClick={() => {\n void handleSave()\n }}\n title={t('saveCta')}\n isLoading={form.status.isPending}\n >\n {t('saveCta')}\n </Button>\n </Flex>\n )\n\n return (\n <div ref={containerRef} className={styles.container}>\n <BaseLayout error={form.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <SDKFormProvider formHookResult={form}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex\n flexDirection={isSmallOrGreater ? 'row' : 'column'}\n justifyContent=\"space-between\"\n alignItems={isSmallOrGreater ? 'flex-start' : 'stretch'}\n gap={12}\n >\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={8}>\n <Heading as=\"h1\" styledAs=\"h2\">\n {t('pageTitle', { employeeName })}\n </Heading>\n </Flex>\n {isSmallOrGreater && actions}\n </Flex>\n {!isSmallOrGreater && actions}\n\n {(() => {\n const isMultiJob = Fields.jobs.length > 1\n const genericHoursTitle = form.data.isOvertimeEligible\n ? t('regularHoursTitle')\n : t('regularHoursTitleWithoutOvertime')\n // \"Add overtime\" is an employee-level action, but the design gives\n // every job its own button so each job's hours box can trigger it.\n const showAddOvertime = !form.data.withOvertime && form.data.isOvertimeEligible\n // Its counterpart once overtime is on: a single employee-level alert\n // explaining the workweek split, rendered once above all jobs.\n const showOvertimeWorkweekAlert =\n form.data.withOvertime && form.data.isOvertimeEligible\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n {isMultiJob ? <Heading as=\"h3\">{genericHoursTitle}</Heading> : null}\n {showOvertimeWorkweekAlert ? (\n <Alert\n status=\"info\"\n label={t('overtimeWorkweekAlert', { employeeName })}\n disableScrollIntoView\n />\n ) : null}\n {Fields.jobs.map(job => (\n <Fragment key={job.jobUuid}>\n {renderBreakdownSection(job.hours, {\n title: isMultiJob ? (job.title ?? genericHoursTitle) : genericHoursTitle,\n label: genericHoursTitle,\n rowHeader: t('hourTypeColumn'),\n valueColumnLabel: t('hoursColumn'),\n labelFor: hoursLabel,\n adornmentEnd: t('hoursUnit'),\n footer: showAddOvertime ? (\n <Button\n variant=\"secondary\"\n onClick={() => {\n form.actions.addOvertime()\n }}\n title={t('addOvertimeCta')}\n >\n {t('addOvertimeCta')}\n </Button>\n ) : undefined,\n })}\n </Fragment>\n ))}\n </Flex>\n )\n })()}\n\n {renderEarningsSection()}\n\n {renderTimeOffSection(Fields.timeOff, {\n title: Fields.finalPayout ? t('timeOffTitleDismissal') : t('timeOffTitle'),\n })}\n\n {Fields.finalPayout\n ? renderTimeOffSection(Fields.finalPayout, {\n title: t('finalPayoutTitle'),\n isFinalPayout: true,\n description: t('finalPayoutDescription'),\n })\n : null}\n\n {PaymentMethodField ? (\n <Flex flexDirection=\"column\" gap={24}>\n {ReimbursementDraft ? (\n <ReimbursementsSection\n rows={reimbursementRows ?? []}\n isAdding={isAddingReimbursement}\n draftFields={ReimbursementDraft}\n onBeginAdd={() => form.actions.beginAddReimbursement?.()}\n onSave={() => form.actions.saveReimbursement?.()}\n onCancel={() => form.actions.cancelReimbursement?.()}\n onRemove={index => form.actions.removeReimbursement?.(index)}\n />\n ) : null}\n\n <Flex flexDirection=\"column\" gap={12}>\n <Heading as=\"h3\" styledAs=\"h4\">\n {t('paymentMethodTitle')}\n </Heading>\n <PaymentMethodField\n label={t('paymentMethodLabel')}\n description={t('paymentMethodDescription')}\n getOptionLabel={value =>\n value === PayrollUpdatePaymentMethod.Check\n ? t('paymentMethodOptions.check')\n : t('paymentMethodOptions.directDeposit')\n }\n />\n </Flex>\n </Flex>\n ) : null}\n </Flex>\n </SDKFormProvider>\n </BaseLayout>\n </div>\n )\n}\n"],"names":["RropPayrollEditEmployee","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","Root","ReimbursementsSection","rows","isAdding","draftFields","onBeginAdd","onSave","onCancel","onRemove","t","useTranslation","Button","ButtonIcon","Heading","useComponentContext","Description","Amount","reimbursementDataViewProps","useDataView","row","formatNumberAsCurrency","displayDescription","TrashCanSvg","EmptyData","PlusCircleIcon","jsxs","Flex","DataView","Grid","employeeId","companyId","payrollId","withReimbursements","onEvent","dictionary","useComponentDictionary","useI18n","dateFormatter","useDateFormatter","Alert","Box","BoxHeader","Text","containerRef","useRef","isSmallOrGreater","useContainerBreakpoints","errorMessages","useMemo","PayrollEditEmployeeErrorCodes","form","usePayrollEditEmployeeForm","styles","BaseLayout","employee","Fields","employeeName","firstLastName","hoursLabel","name","COMPENSATION_NAME_REGULAR_HOURS","COMPENSATION_NAME_OVERTIME","COMPENSATION_NAME_DOUBLE_OVERTIME","earningLabel","COMPENSATION_NAME_BONUS","COMPENSATION_NAME_COMMISSION","COMPENSATION_NAME_CORRECTION_PAYMENT","COMPENSATION_NAME_CASH_TIPS","COMPENSATION_NAME_PAYCHECK_TIPS","COMPENSATION_NAME_REIMBURSEMENT","getSectionRows","section","isSplitByWorkweek","buildBreakdownDataView","options","label","rowHeader","valueColumnLabel","labelFor","adornmentStart","adornmentEnd","split","renderField","entry","fieldLabel","classNames","valueColumn","workweekColumns","startDate","endDate","rangeLabel","cell","columns","BREAKPOINTS","renderBreakdownSection","title","footer","viewOptions","renderTimeOffSection","entries","description","isFinalPayout","renderAmountTable","renderGroupLabel","renderEarningsSection","includedEarnings","excludedRows","hasIncluded","includedTable","mergedRows","Fragment","PaymentMethodField","ReimbursementDraft","reimbursementRows","isAddingReimbursement","handleSave","result","componentEvents","actions","SDKFormProvider","isMultiJob","genericHoursTitle","showAddOvertime","showOvertimeWorkweekAlert","job","index","value","PayrollUpdatePaymentMethod"],"mappings":"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"}
|
package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RropPayrollEditEmployee.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useState as d } from "react";
|
|
3
|
+
import { useForm as M, FormProvider as q } from "react-hook-form";
|
|
4
|
+
import { zodResolver as b } from "@hookform/resolvers/zod";
|
|
5
|
+
import { useTranslation as A } from "react-i18next";
|
|
6
|
+
import { useQueryClient as N } from "@tanstack/react-query";
|
|
7
|
+
import { usePayrollsGetSuspense as F } from "@gusto/embedded-api/react-query/payrollsGet";
|
|
8
|
+
import { usePayrollsPrepareMutation as O } from "@gusto/embedded-api/react-query/payrollsPrepare";
|
|
9
|
+
import { usePayrollsUpdateMutation as B } from "@gusto/embedded-api/react-query/payrollsUpdate";
|
|
10
|
+
import { usePaySchedulesGetAllSuspense as G } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
|
|
11
|
+
import { getDefaultWithholdingPayPeriod as K } from "../OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js";
|
|
12
|
+
import { PREPARE_QUERY_KEY as Q } from "../PayrollConfiguration/usePayrollConfigurationData.js";
|
|
13
|
+
import { createTransitionConfigurationSchema as _ } from "./TransitionConfigurationTypes.js";
|
|
14
|
+
import { TransitionConfigurationPresentation as V } from "./TransitionConfigurationPresentation.js";
|
|
15
|
+
import { BaseComponent as Y } from "../../Base/Base.js";
|
|
16
|
+
import { useBase as j } from "../../Base/useBase.js";
|
|
17
|
+
import { Form as z } from "../../Common/Form/Form.js";
|
|
18
|
+
import { useComponentDictionary as H, useI18n as J } from "../../../i18n/I18n.js";
|
|
19
|
+
import { componentEvents as L } from "../../../shared/constants.js";
|
|
20
|
+
import { SDKInternalError as X } from "../../../types/sdkError.js";
|
|
21
|
+
const Z = _();
|
|
22
|
+
function $(e) {
|
|
23
|
+
return typeof e.employeeUuid == "string" && typeof e.version == "string";
|
|
24
|
+
}
|
|
25
|
+
function De(e) {
|
|
26
|
+
return /* @__PURE__ */ i(Y, { ...e, children: /* @__PURE__ */ i(I, { ...e }) });
|
|
27
|
+
}
|
|
28
|
+
function I({ dictionary: e, companyId: r, payrollId: t, className: h }) {
|
|
29
|
+
H("Payroll.TransitionConfiguration", e), J("Payroll.TransitionConfiguration");
|
|
30
|
+
const { t: c } = A("Payroll.TransitionConfiguration"), { onEvent: f, baseSubmitHandler: y } = j(), P = N(), { data: g } = F({ companyId: r, payrollId: t }), { data: C } = G({ companyId: r }), { mutateAsync: S, isPending: D } = O(), { mutateAsync: R, isPending: T } = B(), o = g.payrollShow, a = C.payScheduleShowResponse?.find(
|
|
31
|
+
(n) => n.uuid === o?.payPeriod?.payScheduleUuid
|
|
32
|
+
), [s, w] = d({
|
|
33
|
+
withholdingPayPeriod: K(
|
|
34
|
+
o?.withholdingPayPeriod ?? a?.frequency
|
|
35
|
+
),
|
|
36
|
+
withholdingRate: o?.fixedWithholdingRate ? "supplemental" : "regular"
|
|
37
|
+
}), [x, l] = d(!1), [E, v] = d(null), u = M({
|
|
38
|
+
resolver: b(Z),
|
|
39
|
+
defaultValues: {
|
|
40
|
+
skipRegularDeductions: o?.skipRegularDeductions ?? !1
|
|
41
|
+
}
|
|
42
|
+
}), W = (n) => {
|
|
43
|
+
w(n), l(!1);
|
|
44
|
+
}, U = async (n) => {
|
|
45
|
+
await y(n, async ({ skipRegularDeductions: k }) => {
|
|
46
|
+
const p = (await S({
|
|
47
|
+
request: { companyId: r, payrollId: t, requestBody: {} }
|
|
48
|
+
})).payrollPrepared?.employeeCompensations?.find(
|
|
49
|
+
$
|
|
50
|
+
);
|
|
51
|
+
if (!p)
|
|
52
|
+
throw new X(c("errors.noEmployeeCompensations"));
|
|
53
|
+
const m = await R({
|
|
54
|
+
request: {
|
|
55
|
+
companyId: r,
|
|
56
|
+
payrollId: t,
|
|
57
|
+
payrollUpdate: {
|
|
58
|
+
employeeCompensations: [
|
|
59
|
+
{ employeeUuid: p.employeeUuid, version: p.version }
|
|
60
|
+
],
|
|
61
|
+
skipRegularDeductions: k,
|
|
62
|
+
withholdingPayPeriod: s.withholdingPayPeriod,
|
|
63
|
+
fixedWithholdingRate: s.withholdingRate === "supplemental"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
v(m.payrollPrepared?.checkDate ?? null), await P.invalidateQueries({ queryKey: [Q, t] }), f(L.TRANSITION_CONFIGURED, {
|
|
68
|
+
payrollUuid: t,
|
|
69
|
+
payrollPrepared: m.payrollPrepared
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
return /* @__PURE__ */ i(q, { ...u, children: /* @__PURE__ */ i(z, { onSubmit: u.handleSubmit(U), children: /* @__PURE__ */ i(
|
|
74
|
+
V,
|
|
75
|
+
{
|
|
76
|
+
className: h,
|
|
77
|
+
payPeriodStartDate: o?.payPeriod?.startDate,
|
|
78
|
+
payPeriodEndDate: o?.payPeriod?.endDate,
|
|
79
|
+
payScheduleName: a?.customName ?? a?.name ?? null,
|
|
80
|
+
checkDate: E ?? o?.checkDate ?? null,
|
|
81
|
+
isPending: D || T,
|
|
82
|
+
taxWithholdingConfig: s,
|
|
83
|
+
isTaxWithholdingModalOpen: x,
|
|
84
|
+
onTaxWithholdingEditClick: () => {
|
|
85
|
+
l(!0);
|
|
86
|
+
},
|
|
87
|
+
onTaxWithholdingModalDone: W,
|
|
88
|
+
onTaxWithholdingModalCancel: () => {
|
|
89
|
+
l(!1);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
) }) });
|
|
93
|
+
}
|
|
94
|
+
export {
|
|
95
|
+
De as TransitionConfiguration
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=TransitionConfiguration.js.map
|