@gusto/embedded-react-sdk 0.55.7 → 0.56.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 +63 -0
- package/dist/components/Common/FadeIn/FadeIn.module.scss.js +4 -4
- package/dist/components/Common/FieldCaption/FieldCaption.js +22 -18
- package/dist/components/Common/FieldCaption/FieldCaption.js.map +1 -1
- package/dist/components/Common/Flex/Flex.js +17 -15
- package/dist/components/Common/Flex/Flex.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/Heading/Heading.module.scss.js +7 -7
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +27 -27
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +45 -30
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js +12 -11
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +72 -55
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +24 -20
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +33 -29
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +131 -115
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -3
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +31 -29
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +110 -109
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +21 -19
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +56 -55
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +34 -33
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +117 -115
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +77 -75
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +44 -43
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +40 -39
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +35 -29
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +21 -20
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +41 -40
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +21 -20
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +33 -32
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +80 -78
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +44 -43
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +113 -105
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
- package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +20 -18
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +18 -15
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +33 -32
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +21 -19
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js +34 -26
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +30 -29
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +54 -53
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +29 -28
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +16 -15
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +27 -25
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +121 -111
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +22 -20
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +24 -23
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +52 -43
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +19 -17
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +79 -78
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +40 -39
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +31 -30
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +43 -41
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +20 -19
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +19 -17
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +49 -48
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Flow/Flow.js +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +28 -28
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +37 -36
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +36 -35
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +35 -28
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +23 -22
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +48 -45
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +85 -77
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +63 -59
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js +23 -21
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +26 -19
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +14 -12
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +184 -162
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +67 -65
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +43 -41
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -223
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +78 -75
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +27 -27
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +19 -19
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +51 -48
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +58 -48
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +58 -57
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +83 -69
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +62 -60
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +119 -117
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +187 -171
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +120 -110
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +20 -14
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +62 -61
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +24 -17
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +22 -22
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +88 -80
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +26 -26
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +32 -32
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +50 -48
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +34 -33
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +28 -24
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +255 -228
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -4
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +5 -5
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +8 -7
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +51 -50
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +20 -18
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +51 -49
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +20 -20
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +50 -49
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +34 -33
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +46 -45
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +152 -143
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +14 -13
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +44 -35
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +88 -71
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +164 -155
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +57 -55
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +25 -24
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +94 -92
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +156 -155
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +21 -19
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -26
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
- package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
- package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
- package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
- package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
- package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
- package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +62 -58
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/src/components/Common/FieldCaption/FieldCaption.d.ts +2 -16
- package/dist/src/components/Common/FieldCaption/FieldCaptionTypes.d.ts +22 -0
- package/dist/src/components/Common/FieldCaption/index.d.ts +1 -0
- package/dist/src/components/Common/Flex/Flex.d.ts +3 -1
- package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
- package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
- package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
- package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
- package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
- package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
- package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +10 -2
- package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +1 -0
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +9 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -2
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +21 -5
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +21 -3
- package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
- package/dist/src/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Submit/SubmitDone.d.ts +3 -1
- package/dist/src/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -1
- package/dist/src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +3 -1
- package/dist/src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +11 -2
- package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
- package/dist/src/components/Employee/HomeAddress/management/HomeAddressView.d.ts +3 -1
- package/dist/src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +3 -1
- package/dist/src/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +3 -1
- package/dist/src/components/Employee/WorkAddress/management/WorkAddressView.d.ts +3 -1
- package/dist/src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +8 -0
- package/dist/src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +9 -9
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +4 -4
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
- package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
- package/dist/src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +3 -1
- package/dist/src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +1 -1
- package/dist/src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +1 -1
- package/dist/src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -1
- package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicyList/PolicyListTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +3 -0
- package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
- package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +2 -0
- package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
- package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
- package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
- package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
- package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
- package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
- package/dist/src/i18n/types.d.ts +42 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/models/external.d.ts +1 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +5 -0
- package/package.json +20 -19
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { jsx as e, jsxs as r, Fragment as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useTranslation as
|
|
1
|
+
import { jsx as e, jsxs as r, Fragment as A } from "react/jsx-runtime";
|
|
2
|
+
import { useState as S } from "react";
|
|
3
|
+
import { useTranslation as T } from "react-i18next";
|
|
4
4
|
import { Flex as f } from "../../../Common/Flex/Flex.js";
|
|
5
|
-
import { EmptyData as
|
|
5
|
+
import { EmptyData as x } from "../../../Common/EmptyData/EmptyData.js";
|
|
6
6
|
import { ActionsLayout as p } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
|
-
import { HamburgerMenu as
|
|
8
|
-
import { useComponentContext as
|
|
9
|
-
import { EmployeeOnboardingStatusBadge as
|
|
7
|
+
import { HamburgerMenu as E } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
8
|
+
import { useComponentContext as P } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
|
+
import { EmployeeOnboardingStatusBadge as j } from "../../../Common/OnboardingStatusBadge/index.js";
|
|
10
10
|
import s from "../../../../assets/icons/pencil.svg.js";
|
|
11
|
-
import
|
|
12
|
-
import { firstLastName as
|
|
11
|
+
import B from "../../../../assets/icons/trashcan.svg.js";
|
|
12
|
+
import { firstLastName as V } from "../../../../helpers/formattedStrings.js";
|
|
13
13
|
import g from "../../../../assets/icons/plus-circle.svg.js";
|
|
14
|
-
import { useDataView as
|
|
15
|
-
import { DataView as
|
|
16
|
-
function
|
|
14
|
+
import { useDataView as _ } from "../../../Common/DataView/useDataView.js";
|
|
15
|
+
import { DataView as N } from "../../../Common/DataView/DataView.js";
|
|
16
|
+
function Y({
|
|
17
17
|
employees: o,
|
|
18
18
|
isFetching: h,
|
|
19
19
|
pagination: C,
|
|
@@ -24,15 +24,16 @@ function X({
|
|
|
24
24
|
onReview: L,
|
|
25
25
|
onAddEmployee: d,
|
|
26
26
|
onSkip: m,
|
|
27
|
-
showContinueButton: u
|
|
27
|
+
showContinueButton: u,
|
|
28
|
+
className: k
|
|
28
29
|
}) {
|
|
29
|
-
const { t } =
|
|
30
|
+
const { t } = T("Employee.EmployeeList"), n = P(), [l, c] = S(null), { ...w } = _({
|
|
30
31
|
data: o,
|
|
31
32
|
columns: [
|
|
32
33
|
{
|
|
33
34
|
key: "name",
|
|
34
35
|
title: t("nameLabel"),
|
|
35
|
-
render: (i) =>
|
|
36
|
+
render: (i) => V({
|
|
36
37
|
first_name: i.firstName,
|
|
37
38
|
last_name: i.lastName
|
|
38
39
|
})
|
|
@@ -41,7 +42,7 @@ function X({
|
|
|
41
42
|
key: "status",
|
|
42
43
|
title: t("statusLabel"),
|
|
43
44
|
render: (i) => /* @__PURE__ */ e(
|
|
44
|
-
|
|
45
|
+
j,
|
|
45
46
|
{
|
|
46
47
|
onboarded: i.onboarded,
|
|
47
48
|
onboardingStatus: i.onboardingStatus
|
|
@@ -74,18 +75,18 @@ function X({
|
|
|
74
75
|
onClick: () => {
|
|
75
76
|
c(i.uuid);
|
|
76
77
|
},
|
|
77
|
-
icon: /* @__PURE__ */ e(
|
|
78
|
-
}), /* @__PURE__ */ e(
|
|
78
|
+
icon: /* @__PURE__ */ e(B, { "aria-hidden": !0 })
|
|
79
|
+
}), /* @__PURE__ */ e(E, { items: a, triggerLabel: t("hamburgerTitle") });
|
|
79
80
|
},
|
|
80
81
|
isFetching: h,
|
|
81
82
|
pagination: C,
|
|
82
|
-
emptyState: () => /* @__PURE__ */ e(
|
|
83
|
+
emptyState: () => /* @__PURE__ */ e(x, { title: t("emptyTableTitle"), description: t("emptyTableDescription"), children: /* @__PURE__ */ r(p, { justifyContent: "center", children: [
|
|
83
84
|
u && /* @__PURE__ */ e(n.Button, { variant: "secondary", onClick: m, children: t("skipCta") }),
|
|
84
85
|
/* @__PURE__ */ e(n.Button, { variant: "primary", onClick: d, icon: /* @__PURE__ */ e(g, {}), children: t("addEmployeeCta") })
|
|
85
86
|
] }) })
|
|
86
87
|
});
|
|
87
|
-
return /* @__PURE__ */ r(
|
|
88
|
-
/* @__PURE__ */ r(f, { flexDirection: "column", gap: 24, children: [
|
|
88
|
+
return /* @__PURE__ */ r(A, { children: [
|
|
89
|
+
/* @__PURE__ */ r(f, { className: k, flexDirection: "column", gap: 24, children: [
|
|
89
90
|
/* @__PURE__ */ r(f, { justifyContent: "space-between", alignItems: "center", children: [
|
|
90
91
|
/* @__PURE__ */ e(n.Heading, { as: "h2", children: t("title") }),
|
|
91
92
|
o.length > 0 && /* @__PURE__ */ e(
|
|
@@ -98,7 +99,7 @@ function X({
|
|
|
98
99
|
}
|
|
99
100
|
)
|
|
100
101
|
] }),
|
|
101
|
-
/* @__PURE__ */ e(
|
|
102
|
+
/* @__PURE__ */ e(N, { label: t("employeeListLabel"), ...w }),
|
|
102
103
|
u && o.length > 0 && /* @__PURE__ */ e(p, { children: /* @__PURE__ */ e(n.Button, { onClick: m, children: t("continueCta") }) })
|
|
103
104
|
] }),
|
|
104
105
|
/* @__PURE__ */ e(
|
|
@@ -126,6 +127,6 @@ function X({
|
|
|
126
127
|
] });
|
|
127
128
|
}
|
|
128
129
|
export {
|
|
129
|
-
|
|
130
|
+
Y as EmployeeListView
|
|
130
131
|
};
|
|
131
132
|
//# sourceMappingURL=EmployeeListView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeListView.js","sources":["../../../../../src/components/Employee/EmployeeList/onboarding/EmployeeListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport type { UseEmployeeListResult, EmployeeWithActions } from '../shared/useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { EmployeeOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface EmployeeListViewProps extends Pick<\n Extract<UseEmployeeListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n employees: EmployeeWithActions[]\n isFetching: boolean\n onEdit: (employeeId: string, onboardingStatus?: OnboardingStatus) => void\n onDelete: (employeeId: string) => Promise<void>\n onCancelSelfOnboarding: (employeeId: string) => Promise<void>\n onReview: (employeeId: string) => Promise<void>\n onAddEmployee: () => void\n onSkip: () => void\n showContinueButton: boolean\n}\n\n/** @internal */\nexport function EmployeeListView({\n employees,\n isFetching,\n pagination,\n status,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onReview,\n onAddEmployee,\n onSkip,\n showContinueButton,\n}: EmployeeListViewProps) {\n const { t } = useTranslation('Employee.EmployeeList')\n const Components = useComponentContext()\n const [employeeToDelete, setEmployeeToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: (employee: EmployeeWithActions) => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: (employee: EmployeeWithActions) => (\n <EmployeeOnboardingStatusBadge\n onboarded={employee.onboarded}\n onboardingStatus={employee.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n if (employee.allowedActions.includes('edit')) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n onEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('review')) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void onReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setEmployeeToDelete(employee.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return <HamburgerMenu items={menuItems} triggerLabel={t('hamburgerTitle')} />\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n {showContinueButton && (\n <Components.Button variant=\"secondary\" onClick={onSkip}>\n {t('skipCta')}\n </Components.Button>\n )}\n <Components.Button variant=\"primary\" onClick={onAddEmployee} icon={<PlusCircleIcon />}>\n {t('addEmployeeCta')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {employees.length > 0 && (\n <Components.Button\n variant=\"secondary\"\n onClick={onAddEmployee}\n icon={<PlusCircleIcon />}\n >\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n\n {showContinueButton && employees.length > 0 && (\n <ActionsLayout>\n <Components.Button onClick={onSkip}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n\n <Components.Dialog\n isOpen={!!employeeToDelete}\n onClose={() => {\n setEmployeeToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (employeeToDelete) {\n try {\n await onDelete(employeeToDelete)\n setEmployeeToDelete(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('deleteDialog.title')}\n primaryActionLabel={t('deleteDialog.confirmCta')}\n closeActionLabel={t('deleteDialog.cancelCta')}\n >\n {t('deleteDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["EmployeeListView","employees","isFetching","pagination","status","onEdit","onDelete","onCancelSelfOnboarding","onReview","onAddEmployee","onSkip","showContinueButton","useTranslation","Components","useComponentContext","employeeToDelete","setEmployeeToDelete","useState","dataViewProps","useDataView","employee","firstLastName","jsx","EmployeeOnboardingStatusBadge","menuItems","PencilSvg","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","PlusCircleIcon","Fragment","Flex","DataView"],"mappings":";;;;;;;;;;;;;;;AA8BO,SAASA,EAAiB;AAAA,EAC/B,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,wBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,oBAAAC;AACF,GAA0B;AACxB,QAAM,EAAE,EAAA,IAAMC,EAAe,uBAAuB,GAC9CC,IAAaC,EAAA,GACb,CAACC,GAAkBC,CAAmB,IAAIC,EAAwB,IAAI,GAEtE,EAAE,GAAGC,EAAA,IAAkBC,EAAY;AAAA,IACvC,MAAMlB;AAAA,IACN,SAAS;AAAA,MACP;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,WAAW;AAAA,QACpB,QAAQ,CAACmB,MACAC,EAAc;AAAA,UACnB,YAAYD,EAAS;AAAA,UACrB,WAAWA,EAAS;AAAA,QAAA,CACrB;AAAA,MACH;AAAA,MAEF;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,aAAa;AAAA,QACtB,QAAQ,CAACA,MACP,gBAAAE;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,WAAWH,EAAS;AAAA,YACpB,kBAAkBA,EAAS;AAAA,UAAA;AAAA,QAAA;AAAA,MAC7B;AAAA,IAEJ;AAAA,IAEF,UAAU,CAAAA,MAAY;AACpB,YAAMI,IAAY,CAAA;AAElB,aAAIJ,EAAS,eAAe,SAAS,MAAM,KACzCI,EAAU,KAAK;AAAA,QACb,OAAO,EAAE,SAAS;AAAA,QAClB,SAAS,MAAM;AACb,UAAAnB,EAAOe,EAAS,MAAMA,EAAS,oBAAoB,MAAS;AAAA,QAC9D;AAAA,QACA,MAAM,gBAAAE,EAACG,GAAA,EAAU,eAAW,GAAA,CAAC;AAAA,MAAA,CAC9B,GAGCL,EAAS,eAAe,SAAS,wBAAwB,KAC3DI,EAAU,KAAK;AAAA,QACb,OAAO,EAAE,yBAAyB;AAAA,QAClC,SAAS,MAAM;AACb,UAAKjB,EAAuBa,EAAS,IAAI;AAAA,QAC3C;AAAA,QACA,MAAM,gBAAAE,EAACG,GAAA,EAAU,eAAW,GAAA,CAAC;AAAA,MAAA,CAC9B,GAGCL,EAAS,eAAe,SAAS,QAAQ,KAC3CI,EAAU,KAAK;AAAA,QACb,OAAO,EAAE,WAAW;AAAA,QACpB,SAAS,MAAM;AACb,UAAKhB,EAASY,EAAS,IAAI;AAAA,QAC7B;AAAA,QACA,MAAM,gBAAAE,EAACG,GAAA,EAAU,eAAW,GAAA,CAAC;AAAA,MAAA,CAC9B,GAGCL,EAAS,eAAe,SAAS,QAAQ,KAC3CI,EAAU,KAAK;AAAA,QACb,OAAO,EAAE,WAAW;AAAA,QACpB,SAAS,MAAM;AACb,UAAAR,EAAoBI,EAAS,IAAI;AAAA,QACnC;AAAA,QACA,MAAM,gBAAAE,EAACI,GAAA,EAAY,eAAW,GAAA,CAAC;AAAA,MAAA,CAChC,qBAGKC,GAAA,EAAc,OAAOH,GAAW,cAAc,EAAE,gBAAgB,GAAG;AAAA,IAC7E;AAAA,IACA,YAAAtB;AAAA,IACA,YAAAC;AAAA,IACA,YAAY,MACV,gBAAAmB,EAACM,GAAA,EAAU,OAAO,EAAE,iBAAiB,GAAG,aAAa,EAAE,uBAAuB,GAC5E,UAAA,gBAAAC,EAACC,GAAA,EAAc,gBAAe,UAC3B,UAAA;AAAA,MAAAnB,KACC,gBAAAW,EAACT,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASH,GAC7C,UAAA,EAAE,SAAS,EAAA,CACd;AAAA,MAEF,gBAAAY,EAACT,EAAW,QAAX,EAAkB,SAAQ,WAAU,SAASJ,GAAe,MAAM,gBAAAa,EAACS,GAAA,CAAA,CAAe,GAChF,UAAA,EAAE,gBAAgB,EAAA,CACrB;AAAA,IAAA,EAAA,CACF,EAAA,CACF;AAAA,EAAA,CAEH;AAED,SACE,gBAAAF,EAAAG,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAH,EAACI,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,MAAA,gBAAAJ,EAACI,GAAA,EAAK,gBAAe,iBAAgB,YAAW,UAC9C,UAAA;AAAA,QAAA,gBAAAX,EAACT,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,QAEvCZ,EAAU,SAAS,KAClB,gBAAAqB;AAAA,UAACT,EAAW;AAAA,UAAX;AAAA,YACC,SAAQ;AAAA,YACR,SAASJ;AAAA,YACT,wBAAOsB,GAAA,EAAe;AAAA,YAErB,YAAE,eAAe;AAAA,UAAA;AAAA,QAAA;AAAA,MACpB,GAEJ;AAAA,wBAECG,GAAA,EAAS,OAAO,EAAE,mBAAmB,GAAI,GAAGhB,GAAe;AAAA,MAE3DP,KAAsBV,EAAU,SAAS,uBACvC6B,GAAA,EACC,UAAA,gBAAAR,EAACT,EAAW,QAAX,EAAkB,SAASH,GAAS,UAAA,EAAE,aAAa,GAAE,EAAA,CACxD;AAAA,IAAA,GAEJ;AAAA,IAEA,gBAAAY;AAAA,MAACT,EAAW;AAAA,MAAX;AAAA,QACC,QAAQ,CAAC,CAACE;AAAA,QACV,SAAS,MAAM;AACb,UAAAC,EAAoB,IAAI;AAAA,QAC1B;AAAA,QACA,sBAAsB,YAAY;AAChC,cAAID;AACF,gBAAI;AACF,oBAAMT,EAASS,CAAgB,GAC/BC,EAAoB,IAAI;AAAA,YAC1B,QAAQ;AAAA,YAER;AAAA,QAEJ;AAAA,QACA,wBAAwBZ,EAAO;AAAA,QAC/B,eAAa;AAAA,QACb,OAAO,EAAE,oBAAoB;AAAA,QAC7B,oBAAoB,EAAE,yBAAyB;AAAA,QAC/C,kBAAkB,EAAE,wBAAwB;AAAA,QAE3C,YAAE,0BAA0B;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/B,GACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"EmployeeListView.js","sources":["../../../../../src/components/Employee/EmployeeList/onboarding/EmployeeListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport type { UseEmployeeListResult, EmployeeWithActions } from '../shared/useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { EmployeeOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface EmployeeListViewProps extends Pick<\n Extract<UseEmployeeListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n employees: EmployeeWithActions[]\n isFetching: boolean\n onEdit: (employeeId: string, onboardingStatus?: OnboardingStatus) => void\n onDelete: (employeeId: string) => Promise<void>\n onCancelSelfOnboarding: (employeeId: string) => Promise<void>\n onReview: (employeeId: string) => Promise<void>\n onAddEmployee: () => void\n onSkip: () => void\n showContinueButton: boolean\n /** CSS class name applied to the root element. */\n className?: string\n}\n\n/** @internal */\nexport function EmployeeListView({\n employees,\n isFetching,\n pagination,\n status,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onReview,\n onAddEmployee,\n onSkip,\n showContinueButton,\n className,\n}: EmployeeListViewProps) {\n const { t } = useTranslation('Employee.EmployeeList')\n const Components = useComponentContext()\n const [employeeToDelete, setEmployeeToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: (employee: EmployeeWithActions) => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: (employee: EmployeeWithActions) => (\n <EmployeeOnboardingStatusBadge\n onboarded={employee.onboarded}\n onboardingStatus={employee.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n if (employee.allowedActions.includes('edit')) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n onEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('review')) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void onReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setEmployeeToDelete(employee.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return <HamburgerMenu items={menuItems} triggerLabel={t('hamburgerTitle')} />\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n {showContinueButton && (\n <Components.Button variant=\"secondary\" onClick={onSkip}>\n {t('skipCta')}\n </Components.Button>\n )}\n <Components.Button variant=\"primary\" onClick={onAddEmployee} icon={<PlusCircleIcon />}>\n {t('addEmployeeCta')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <Flex className={className} flexDirection=\"column\" gap={24}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {employees.length > 0 && (\n <Components.Button\n variant=\"secondary\"\n onClick={onAddEmployee}\n icon={<PlusCircleIcon />}\n >\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n\n {showContinueButton && employees.length > 0 && (\n <ActionsLayout>\n <Components.Button onClick={onSkip}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n\n <Components.Dialog\n isOpen={!!employeeToDelete}\n onClose={() => {\n setEmployeeToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (employeeToDelete) {\n try {\n await onDelete(employeeToDelete)\n setEmployeeToDelete(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('deleteDialog.title')}\n primaryActionLabel={t('deleteDialog.confirmCta')}\n closeActionLabel={t('deleteDialog.cancelCta')}\n >\n {t('deleteDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["EmployeeListView","employees","isFetching","pagination","status","onEdit","onDelete","onCancelSelfOnboarding","onReview","onAddEmployee","onSkip","showContinueButton","className","useTranslation","Components","useComponentContext","employeeToDelete","setEmployeeToDelete","useState","dataViewProps","useDataView","employee","firstLastName","jsx","EmployeeOnboardingStatusBadge","menuItems","PencilSvg","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","PlusCircleIcon","Fragment","Flex","DataView"],"mappings":"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"}
|
|
@@ -1,48 +1,57 @@
|
|
|
1
|
-
import { useMemo as
|
|
1
|
+
import { useMemo as p } from "react";
|
|
2
2
|
import { useEmployeesList as L } from "@gusto/embedded-api/react-query/employeesList";
|
|
3
3
|
import { useEmployeesDeleteMutation as M } from "@gusto/embedded-api/react-query/employeesDelete";
|
|
4
|
-
import { useEmployeesUpdateOnboardingStatusMutation as
|
|
5
|
-
import { keepPreviousData as
|
|
6
|
-
import { usePagination as
|
|
7
|
-
import { useBaseSubmit as
|
|
8
|
-
import { composeErrorHandler as
|
|
9
|
-
import { EmployeeOnboardingStatus as
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return
|
|
4
|
+
import { useEmployeesUpdateOnboardingStatusMutation as v } from "@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus";
|
|
5
|
+
import { keepPreviousData as w } from "@tanstack/react-query";
|
|
6
|
+
import { usePagination as y } from "../../../../hooks/usePagination/usePagination.js";
|
|
7
|
+
import { useBaseSubmit as B } from "../../../Base/useBaseSubmit.js";
|
|
8
|
+
import { composeErrorHandler as G } from "../../../../partner-hook-utils/composeErrorHandler.js";
|
|
9
|
+
import { EmployeeOnboardingStatus as o, EmployeeSelfOnboardingStatuses as R } from "../../../../shared/constants.js";
|
|
10
|
+
import { normalizeToDate as C } from "../../../../helpers/dateFormatting.js";
|
|
11
|
+
function q(e) {
|
|
12
|
+
return e.terminations?.find((r) => {
|
|
13
|
+
if (!r.effectiveDate || r.active === !0) return !1;
|
|
14
|
+
const n = C(r.effectiveDate);
|
|
15
|
+
return n !== null && n.getTime() > Date.now();
|
|
16
|
+
})?.effectiveDate;
|
|
13
17
|
}
|
|
14
|
-
function
|
|
18
|
+
function F(e, a, r) {
|
|
19
|
+
const n = [];
|
|
20
|
+
return a !== "terminated" && (e.onboardingStatus === o.ADMIN_ONBOARDING_INCOMPLETE || e.onboardingStatus === o.SELF_ONBOARDING_PENDING_INVITE || e.onboardingStatus === o.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW || e.onboardingStatus === o.ONBOARDING_COMPLETED) && n.push("edit"), e.onboardingStatus && R.has(e.onboardingStatus) && n.push("cancel_self_onboarding"), e.onboardingStatus === o.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE && n.push("review"), e.onboarded || n.push("delete"), a === "active" && !r && n.push("dismiss"), a === "terminated" && n.push("rehire"), n;
|
|
21
|
+
}
|
|
22
|
+
function U({
|
|
15
23
|
companyId: e,
|
|
16
|
-
employeeType:
|
|
24
|
+
employeeType: a
|
|
17
25
|
}) {
|
|
18
|
-
const { currentPage:
|
|
26
|
+
const { currentPage: r, itemsPerPage: n, getPaginationProps: b } = y(), P = p(() => {
|
|
19
27
|
const t = {
|
|
20
28
|
companyId: e,
|
|
21
|
-
page:
|
|
22
|
-
per:
|
|
29
|
+
page: r,
|
|
30
|
+
per: n
|
|
23
31
|
};
|
|
24
|
-
switch (
|
|
32
|
+
switch (a) {
|
|
25
33
|
case "active":
|
|
26
34
|
return { ...t, onboardedActive: !0 };
|
|
27
35
|
case "onboarding":
|
|
28
|
-
return { ...t,
|
|
36
|
+
return { ...t, onboardedActive: !1 };
|
|
29
37
|
case "terminated":
|
|
30
38
|
return { ...t, terminated: !0 };
|
|
31
39
|
default:
|
|
32
40
|
return t;
|
|
33
41
|
}
|
|
34
|
-
}, [e,
|
|
35
|
-
baseSubmitHandler:
|
|
36
|
-
error:
|
|
37
|
-
setError:
|
|
38
|
-
} =
|
|
39
|
-
const
|
|
42
|
+
}, [e, r, n, a]), l = L(P, { placeholderData: w }), f = M(), d = v(), {
|
|
43
|
+
baseSubmitHandler: c,
|
|
44
|
+
error: D,
|
|
45
|
+
setError: N
|
|
46
|
+
} = B("EmployeeList"), E = G([l], { submitError: D, setSubmitError: N }), O = f.isPending || d.isPending, { data: u, isFetching: g } = l, S = p(() => (u?.showEmployees ?? []).map((t) => {
|
|
47
|
+
const s = t.jobs?.find((m) => m.primary === !0), i = q(t);
|
|
40
48
|
return {
|
|
41
49
|
...t,
|
|
42
|
-
allowedActions:
|
|
43
|
-
primaryJob:
|
|
50
|
+
allowedActions: F(t, a, i),
|
|
51
|
+
primaryJob: s,
|
|
52
|
+
pendingDismissalDate: i
|
|
44
53
|
};
|
|
45
|
-
}), [
|
|
54
|
+
}), [u?.showEmployees, a]), I = u?.httpMeta.response.headers ? b(u.httpMeta.response.headers, g) : {
|
|
46
55
|
handleNextPage: () => {
|
|
47
56
|
},
|
|
48
57
|
handleFirstPage: () => {
|
|
@@ -58,51 +67,51 @@ function J({
|
|
|
58
67
|
totalCount: 0,
|
|
59
68
|
itemsPerPage: 5
|
|
60
69
|
}, h = async (t) => {
|
|
61
|
-
await
|
|
62
|
-
await
|
|
63
|
-
request: { employeeId:
|
|
70
|
+
await c(t, async (s) => {
|
|
71
|
+
await f.mutateAsync({
|
|
72
|
+
request: { employeeId: s }
|
|
64
73
|
});
|
|
65
74
|
});
|
|
66
75
|
}, A = async (t) => {
|
|
67
|
-
let
|
|
68
|
-
return await
|
|
69
|
-
|
|
76
|
+
let s;
|
|
77
|
+
return await c(t, async (i) => {
|
|
78
|
+
s = (await d.mutateAsync({
|
|
70
79
|
request: {
|
|
71
80
|
employeeId: i,
|
|
72
81
|
requestBody: {
|
|
73
|
-
onboardingStatus:
|
|
82
|
+
onboardingStatus: o.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
85
|
})).employeeOnboardingStatus;
|
|
77
|
-
}),
|
|
86
|
+
}), s;
|
|
78
87
|
}, _ = async (t) => {
|
|
79
|
-
let
|
|
80
|
-
return await
|
|
81
|
-
|
|
88
|
+
let s;
|
|
89
|
+
return await c(t, async (i) => {
|
|
90
|
+
s = (await d.mutateAsync({
|
|
82
91
|
request: {
|
|
83
92
|
employeeId: i,
|
|
84
93
|
requestBody: {
|
|
85
|
-
onboardingStatus:
|
|
94
|
+
onboardingStatus: o.ADMIN_ONBOARDING_INCOMPLETE
|
|
86
95
|
}
|
|
87
96
|
}
|
|
88
97
|
})).employeeOnboardingStatus;
|
|
89
|
-
}),
|
|
98
|
+
}), s;
|
|
90
99
|
};
|
|
91
|
-
return !
|
|
100
|
+
return !u && g ? {
|
|
92
101
|
isLoading: !0,
|
|
93
102
|
errorHandling: E
|
|
94
103
|
} : {
|
|
95
104
|
isLoading: !1,
|
|
96
105
|
data: {
|
|
97
|
-
employees:
|
|
106
|
+
employees: S
|
|
98
107
|
},
|
|
99
108
|
pagination: I,
|
|
100
|
-
status: { isFetching:
|
|
109
|
+
status: { isFetching: g, isPending: O },
|
|
101
110
|
actions: { onDelete: h, onReview: A, onCancelSelfOnboarding: _ },
|
|
102
111
|
errorHandling: E
|
|
103
112
|
};
|
|
104
113
|
}
|
|
105
114
|
export {
|
|
106
|
-
|
|
115
|
+
U as useEmployeeList
|
|
107
116
|
};
|
|
108
117
|
//# sourceMappingURL=useEmployeeList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEmployeeList.js","sources":["../../../../../src/components/Employee/EmployeeList/shared/useEmployeeList.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useEmployeesList } from '@gusto/embedded-api/react-query/employeesList'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport type { EmployeeOnboardingStatus as EmployeeOnboardingStatusEntity } from '@gusto/embedded-api/models/components/employeeonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport type { HookLoadingResult, BaseHookReady } from '@/partner-hook-utils/types'\n\n/**\n * Action that may be performed on an employee row, determined by the employee's onboarding state\n * and the `employeeType` filter passed to {@link useEmployeeList}.\n *\n * @public\n */\nexport type EmployeeAction =\n 'edit' | 'delete' | 'cancel_self_onboarding' | 'review' | 'dismiss' | 'rehire'\n\n/**\n * An employee entity extended with the actions permitted on it and a reference to its primary job.\n *\n * @public\n */\nexport interface EmployeeWithActions extends Employee {\n /** Actions permitted for this employee given its onboarding status and the active filter. */\n allowedActions: EmployeeAction[]\n /** The employee's primary job, if one is marked primary. */\n primaryJob?: Job\n}\n\n/**\n * Filter applied to {@link useEmployeeList} that scopes the result set and tailors the per-row action list.\n *\n * @public\n */\nexport type EmployeeType = 'active' | 'onboarding' | 'terminated'\n\n/**\n * Props for {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListProps {\n /** The associated company identifier. */\n companyId: string\n /** Filters the list and tailors the allowed actions. Omit to list all employees. */\n employeeType?: EmployeeType\n}\n\n/**\n * Ready state of {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListReady extends BaseHookReady<\n { employees: EmployeeWithActions[] },\n { isFetching: boolean; isPending: boolean }\n> {\n /** Pagination controls for the current employee list page. */\n pagination: PaginationControlProps\n /** Actions that mutate an employee's state, gated by the entry's `allowedActions`. */\n actions: {\n /** Deletes the employee. */\n onDelete: (employeeId: string) => Promise<void>\n /** Moves the employee into the admin-review onboarding status. Resolves to the updated record, or `undefined` if the call failed. */\n onReview: (employeeId: string) => Promise<EmployeeOnboardingStatusEntity | undefined>\n /** Reverts a self-onboarding employee to admin-driven onboarding. Resolves to the updated record, or `undefined` if the call failed. */\n onCancelSelfOnboarding: (\n employeeId: string,\n ) => Promise<EmployeeOnboardingStatusEntity | undefined>\n }\n}\n\n/**\n * Return type of {@link useEmployeeList}.\n *\n * @public\n */\nexport type UseEmployeeListResult = HookLoadingResult | UseEmployeeListReady\n\nfunction deriveAllowedActions(employee: Employee, employeeType?: EmployeeType): EmployeeAction[] {\n const actions: EmployeeAction[] = []\n\n // Edit action - available for certain onboarding statuses, but not for terminated employees\n if (\n employeeType !== 'terminated' &&\n (employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED)\n ) {\n actions.push('edit')\n }\n\n // Cancel self onboarding - available for employees in self-onboarding flow\n if (employee.onboardingStatus && EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus)) {\n actions.push('cancel_self_onboarding')\n }\n\n // Review action - available when employee completed self-onboarding\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n actions.push('review')\n }\n\n // Delete action - available for non-onboarded employees\n if (!employee.onboarded) {\n actions.push('delete')\n }\n\n // Tab-specific actions for ManagementEmployeeList\n if (employeeType === 'active') {\n actions.push('dismiss')\n }\n\n if (employeeType === 'terminated') {\n actions.push('rehire')\n }\n\n return actions\n}\n\n/**\n * Fetches a paginated list of a company's employees and decorates each entry with the actions\n * allowed for its current onboarding state.\n *\n * @remarks\n * `employeeType` maps to a server-side filter and changes which actions appear on each row:\n * `'active'` adds `dismiss`, `'terminated'` adds `rehire`, `'onboarding'` adds none. Omit it\n * to list every employee.\n *\n * Page changes use placeholder data: the previous page stays rendered while the next one loads,\n * and `status.isFetching` flips to `true` during the request.\n *\n * @param input - Company and optional filter for the list.\n * @returns A {@link HookLoadingResult} while the first page is in flight, or a {@link UseEmployeeListReady} once data has arrived.\n * @public\n *\n * @example\n * ```tsx\n * import { useEmployeeList } from '@gusto/embedded-react-sdk'\n *\n * function EmployeeListPage({ companyId }: { companyId: string }) {\n * const employeeList = useEmployeeList({ companyId, employeeType: 'onboarding' })\n *\n * if (employeeList.isLoading) return <div>Loading...</div>\n *\n * return (\n * <ul>\n * {employeeList.data.employees.map(employee => (\n * <li key={employee.uuid}>\n * {employee.firstName} {employee.lastName}\n * {employee.allowedActions.includes('delete') && (\n * <button onClick={() => employeeList.actions.onDelete(employee.uuid)}>Delete</button>\n * )}\n * </li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n */\nexport function useEmployeeList({\n companyId,\n employeeType,\n}: UseEmployeeListProps): UseEmployeeListResult {\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const queryParams = useMemo(() => {\n const baseParams = {\n companyId,\n page: currentPage,\n per: itemsPerPage,\n }\n\n switch (employeeType) {\n case 'active':\n return { ...baseParams, onboardedActive: true }\n case 'onboarding':\n return { ...baseParams, onboarded: false }\n case 'terminated':\n return { ...baseParams, terminated: true }\n default:\n return baseParams\n }\n }, [companyId, currentPage, itemsPerPage, employeeType])\n\n const employeesQuery = useEmployeesList(queryParams, { placeholderData: keepPreviousData })\n\n const deleteEmployeeMutation = useEmployeesDeleteMutation()\n const updateOnboardingStatusMutation = useEmployeesUpdateOnboardingStatusMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('EmployeeList')\n\n const errorHandling = composeErrorHandler([employeesQuery], { submitError, setSubmitError })\n\n const isPending = deleteEmployeeMutation.isPending || updateOnboardingStatusMutation.isPending\n\n const { data, isFetching } = employeesQuery\n\n const employees = useMemo<EmployeeWithActions[]>(() => {\n return (data?.showEmployees ?? []).map(employee => {\n const primaryJob = employee.jobs?.find(job => job.primary === true)\n\n return {\n ...employee,\n allowedActions: deriveAllowedActions(employee, employeeType),\n primaryJob,\n }\n })\n }, [data?.showEmployees, employeeType])\n\n const paginationProps = data?.httpMeta.response.headers\n ? getPaginationProps(data.httpMeta.response.headers, isFetching)\n : {\n handleNextPage: () => {},\n handleFirstPage: () => {},\n handleLastPage: () => {},\n handlePreviousPage: () => {},\n handleItemsPerPageChange: () => {},\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n itemsPerPage: 5 as const,\n }\n\n const onDelete = async (employeeId: string): Promise<void> => {\n await baseSubmitHandler(employeeId, async id => {\n await deleteEmployeeMutation.mutateAsync({\n request: { employeeId: id },\n })\n })\n }\n\n const onReview = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const onCancelSelfOnboarding = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const isLoading = !data && isFetching\n\n if (isLoading) {\n return {\n isLoading: true,\n errorHandling,\n }\n }\n\n return {\n isLoading: false,\n data: {\n employees,\n },\n pagination: paginationProps,\n status: { isFetching, isPending },\n actions: { onDelete, onReview, onCancelSelfOnboarding },\n errorHandling,\n }\n}\n"],"names":["deriveAllowedActions","employee","employeeType","actions","EmployeeOnboardingStatus","EmployeeSelfOnboardingStatuses","useEmployeeList","companyId","currentPage","itemsPerPage","getPaginationProps","usePagination","queryParams","useMemo","baseParams","employeesQuery","useEmployeesList","keepPreviousData","deleteEmployeeMutation","useEmployeesDeleteMutation","updateOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","isPending","data","isFetching","employees","primaryJob","job","paginationProps","onDelete","employeeId","id","onReview","onboardingStatus","onCancelSelfOnboarding"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useEmployeeList.js","sources":["../../../../../src/components/Employee/EmployeeList/shared/useEmployeeList.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useEmployeesList } from '@gusto/embedded-api/react-query/employeesList'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport type { EmployeeOnboardingStatus as EmployeeOnboardingStatusEntity } from '@gusto/embedded-api/models/components/employeeonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport type { HookLoadingResult, BaseHookReady } from '@/partner-hook-utils/types'\nimport { normalizeToDate } from '@/helpers/dateFormatting'\n\n/**\n * Action that may be performed on an employee row, determined by the employee's onboarding state\n * and the `employeeType` filter passed to {@link useEmployeeList}.\n *\n * @public\n */\nexport type EmployeeAction =\n 'edit' | 'delete' | 'cancel_self_onboarding' | 'review' | 'dismiss' | 'rehire'\n\n/**\n * An employee entity extended with the actions permitted on it and a reference to its primary job.\n *\n * @public\n */\nexport interface EmployeeWithActions extends Employee {\n /** Actions permitted for this employee given its onboarding status and the active filter. */\n allowedActions: EmployeeAction[]\n /** The employee's primary job, if one is marked primary. */\n primaryJob?: Job\n /** Effective date of a termination that hasn't gone into effect yet, if one is scheduled. */\n pendingDismissalDate?: string\n}\n\n/**\n * Filter applied to {@link useEmployeeList} that scopes the result set and tailors the per-row action list.\n *\n * @public\n */\nexport type EmployeeType = 'active' | 'onboarding' | 'terminated'\n\n/**\n * Props for {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListProps {\n /** The associated company identifier. */\n companyId: string\n /** Filters the list and tailors the allowed actions. Omit to list all employees. */\n employeeType?: EmployeeType\n}\n\n/**\n * Ready state of {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListReady extends BaseHookReady<\n { employees: EmployeeWithActions[] },\n { isFetching: boolean; isPending: boolean }\n> {\n /** Pagination controls for the current employee list page. */\n pagination: PaginationControlProps\n /** Actions that mutate an employee's state, gated by the entry's `allowedActions`. */\n actions: {\n /** Deletes the employee. */\n onDelete: (employeeId: string) => Promise<void>\n /** Moves the employee into the admin-review onboarding status. Resolves to the updated record, or `undefined` if the call failed. */\n onReview: (employeeId: string) => Promise<EmployeeOnboardingStatusEntity | undefined>\n /** Reverts a self-onboarding employee to admin-driven onboarding. Resolves to the updated record, or `undefined` if the call failed. */\n onCancelSelfOnboarding: (\n employeeId: string,\n ) => Promise<EmployeeOnboardingStatusEntity | undefined>\n }\n}\n\n/**\n * Return type of {@link useEmployeeList}.\n *\n * @public\n */\nexport type UseEmployeeListResult = HookLoadingResult | UseEmployeeListReady\n\nfunction getPendingDismissalDate(employee: Employee): string | undefined {\n const pending = employee.terminations?.find(termination => {\n if (!termination.effectiveDate || termination.active === true) return false\n const effectiveDate = normalizeToDate(termination.effectiveDate)\n return effectiveDate !== null && effectiveDate.getTime() > Date.now()\n })\n\n return pending?.effectiveDate\n}\n\nfunction deriveAllowedActions(\n employee: Employee,\n employeeType?: EmployeeType,\n pendingDismissalDate?: string,\n): EmployeeAction[] {\n const actions: EmployeeAction[] = []\n\n // Edit action - available for certain onboarding statuses, but not for terminated employees\n if (\n employeeType !== 'terminated' &&\n (employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED)\n ) {\n actions.push('edit')\n }\n\n // Cancel self onboarding - available for employees in self-onboarding flow\n if (employee.onboardingStatus && EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus)) {\n actions.push('cancel_self_onboarding')\n }\n\n // Review action - available when employee completed self-onboarding\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n actions.push('review')\n }\n\n // Delete action - available for non-onboarded employees\n if (!employee.onboarded) {\n actions.push('delete')\n }\n\n // Tab-specific actions for ManagementEmployeeList\n if (employeeType === 'active' && !pendingDismissalDate) {\n actions.push('dismiss')\n }\n\n if (employeeType === 'terminated') {\n actions.push('rehire')\n }\n\n return actions\n}\n\n/**\n * Fetches a paginated list of a company's employees and decorates each entry with the actions\n * allowed for its current onboarding state.\n *\n * @remarks\n * `employeeType` maps to a server-side filter and changes which actions appear on each row:\n * `'active'` adds `dismiss` unless the employee already has a termination scheduled for a future\n * date, `'terminated'` adds `rehire`, `'onboarding'` adds none. Omit it to list every employee.\n *\n * An `'active'` row with a pending termination carries its effective date on\n * `pendingDismissalDate` instead of the `dismiss` action.\n *\n * `'onboarding'` includes employees who haven't completed onboarding as well as employees who\n * have completed onboarding but whose primary job's hire date hasn't arrived yet, so `onboarded`\n * may be `true` for rows in this filter.\n *\n * Page changes use placeholder data: the previous page stays rendered while the next one loads,\n * and `status.isFetching` flips to `true` during the request.\n *\n * @param input - Company and optional filter for the list.\n * @returns A {@link HookLoadingResult} while the first page is in flight, or a {@link UseEmployeeListReady} once data has arrived.\n * @public\n *\n * @example\n * ```tsx\n * import { useEmployeeList } from '@gusto/embedded-react-sdk'\n *\n * function EmployeeListPage({ companyId }: { companyId: string }) {\n * const employeeList = useEmployeeList({ companyId, employeeType: 'onboarding' })\n *\n * if (employeeList.isLoading) return <div>Loading...</div>\n *\n * return (\n * <ul>\n * {employeeList.data.employees.map(employee => (\n * <li key={employee.uuid}>\n * {employee.firstName} {employee.lastName}\n * {employee.allowedActions.includes('delete') && (\n * <button onClick={() => employeeList.actions.onDelete(employee.uuid)}>Delete</button>\n * )}\n * </li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n */\nexport function useEmployeeList({\n companyId,\n employeeType,\n}: UseEmployeeListProps): UseEmployeeListResult {\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const queryParams = useMemo(() => {\n const baseParams = {\n companyId,\n page: currentPage,\n per: itemsPerPage,\n }\n\n switch (employeeType) {\n case 'active':\n return { ...baseParams, onboardedActive: true }\n case 'onboarding':\n return { ...baseParams, onboardedActive: false }\n case 'terminated':\n return { ...baseParams, terminated: true }\n default:\n return baseParams\n }\n }, [companyId, currentPage, itemsPerPage, employeeType])\n\n const employeesQuery = useEmployeesList(queryParams, { placeholderData: keepPreviousData })\n\n const deleteEmployeeMutation = useEmployeesDeleteMutation()\n const updateOnboardingStatusMutation = useEmployeesUpdateOnboardingStatusMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('EmployeeList')\n\n const errorHandling = composeErrorHandler([employeesQuery], { submitError, setSubmitError })\n\n const isPending = deleteEmployeeMutation.isPending || updateOnboardingStatusMutation.isPending\n\n const { data, isFetching } = employeesQuery\n\n const employees = useMemo<EmployeeWithActions[]>(() => {\n return (data?.showEmployees ?? []).map(employee => {\n const primaryJob = employee.jobs?.find(job => job.primary === true)\n const pendingDismissalDate = getPendingDismissalDate(employee)\n\n return {\n ...employee,\n allowedActions: deriveAllowedActions(employee, employeeType, pendingDismissalDate),\n primaryJob,\n pendingDismissalDate,\n }\n })\n }, [data?.showEmployees, employeeType])\n\n const paginationProps = data?.httpMeta.response.headers\n ? getPaginationProps(data.httpMeta.response.headers, isFetching)\n : {\n handleNextPage: () => {},\n handleFirstPage: () => {},\n handleLastPage: () => {},\n handlePreviousPage: () => {},\n handleItemsPerPageChange: () => {},\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n itemsPerPage: 5 as const,\n }\n\n const onDelete = async (employeeId: string): Promise<void> => {\n await baseSubmitHandler(employeeId, async id => {\n await deleteEmployeeMutation.mutateAsync({\n request: { employeeId: id },\n })\n })\n }\n\n const onReview = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const onCancelSelfOnboarding = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const isLoading = !data && isFetching\n\n if (isLoading) {\n return {\n isLoading: true,\n errorHandling,\n }\n }\n\n return {\n isLoading: false,\n data: {\n employees,\n },\n pagination: paginationProps,\n status: { isFetching, isPending },\n actions: { onDelete, onReview, onCancelSelfOnboarding },\n errorHandling,\n }\n}\n"],"names":["getPendingDismissalDate","employee","termination","effectiveDate","normalizeToDate","deriveAllowedActions","employeeType","pendingDismissalDate","actions","EmployeeOnboardingStatus","EmployeeSelfOnboardingStatuses","useEmployeeList","companyId","currentPage","itemsPerPage","getPaginationProps","usePagination","queryParams","useMemo","baseParams","employeesQuery","useEmployeesList","keepPreviousData","deleteEmployeeMutation","useEmployeesDeleteMutation","updateOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","isPending","data","isFetching","employees","primaryJob","job","paginationProps","onDelete","employeeId","id","onReview","onboardingStatus","onCancelSelfOnboarding"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { state as
|
|
2
|
-
import { DashboardFlowContextual as
|
|
1
|
+
import { state as a, transition as o, reduce as n } from "robot3";
|
|
2
|
+
import { DashboardFlowContextual as L, TerminationFlowContextual as m, OnboardingExecutionFlowContextual as r, EmployeeListContextual as s } from "./EmployeeListFlowComponents.js";
|
|
3
3
|
import { componentEvents as e } from "../../../shared/constants.js";
|
|
4
4
|
const i = {
|
|
5
5
|
type: "minimal",
|
|
@@ -8,22 +8,22 @@ const i = {
|
|
|
8
8
|
namespace: "Employee.ManagementEmployeeList",
|
|
9
9
|
event: e.EMPLOYEE_RETURN_TO_LIST
|
|
10
10
|
}
|
|
11
|
-
},
|
|
12
|
-
(
|
|
13
|
-
...
|
|
14
|
-
component:
|
|
11
|
+
}, t = n(
|
|
12
|
+
(E) => ({
|
|
13
|
+
...E,
|
|
14
|
+
component: s,
|
|
15
15
|
header: null,
|
|
16
16
|
employeeId: void 0
|
|
17
17
|
})
|
|
18
18
|
), _ = {
|
|
19
|
-
list:
|
|
19
|
+
list: a(
|
|
20
20
|
o(
|
|
21
21
|
e.EMPLOYEE_UPDATE,
|
|
22
22
|
"dashboard",
|
|
23
|
-
|
|
24
|
-
(
|
|
25
|
-
...
|
|
26
|
-
component:
|
|
23
|
+
n(
|
|
24
|
+
(E, l) => ({
|
|
25
|
+
...E,
|
|
26
|
+
component: L,
|
|
27
27
|
header: i,
|
|
28
28
|
employeeId: l.payload.employeeId
|
|
29
29
|
})
|
|
@@ -32,10 +32,10 @@ const i = {
|
|
|
32
32
|
o(
|
|
33
33
|
e.EMPLOYEE_DISMISS,
|
|
34
34
|
"terminate",
|
|
35
|
-
|
|
36
|
-
(
|
|
37
|
-
...
|
|
38
|
-
component:
|
|
35
|
+
n(
|
|
36
|
+
(E, l) => ({
|
|
37
|
+
...E,
|
|
38
|
+
component: m,
|
|
39
39
|
header: i,
|
|
40
40
|
employeeId: l.payload.employeeId
|
|
41
41
|
})
|
|
@@ -44,23 +44,26 @@ const i = {
|
|
|
44
44
|
o(
|
|
45
45
|
e.EMPLOYEE_CREATE,
|
|
46
46
|
"onboard",
|
|
47
|
-
|
|
48
|
-
...
|
|
49
|
-
component:
|
|
47
|
+
n((E) => ({
|
|
48
|
+
...E,
|
|
49
|
+
component: r,
|
|
50
50
|
header: i
|
|
51
51
|
}))
|
|
52
52
|
)
|
|
53
53
|
),
|
|
54
|
-
dashboard:
|
|
55
|
-
o(e.EMPLOYEE_RETURN_TO_LIST, "list",
|
|
54
|
+
dashboard: a(
|
|
55
|
+
o(e.EMPLOYEE_RETURN_TO_LIST, "list", t)
|
|
56
56
|
),
|
|
57
|
-
terminate:
|
|
58
|
-
o(e.EMPLOYEE_RETURN_TO_LIST, "list",
|
|
57
|
+
terminate: a(
|
|
58
|
+
o(e.EMPLOYEE_RETURN_TO_LIST, "list", t),
|
|
59
|
+
o(e.PAYROLL_EXIT_FLOW, "list", t),
|
|
60
|
+
o(e.RUN_PAYROLL_CANCELLED, "list", t),
|
|
61
|
+
o(e.CANCEL, "list", t)
|
|
59
62
|
),
|
|
60
|
-
onboard:
|
|
61
|
-
o(e.EMPLOYEE_RETURN_TO_LIST, "list",
|
|
62
|
-
o(e.EMPLOYEES_LIST, "list",
|
|
63
|
-
o(e.CANCEL, "list",
|
|
63
|
+
onboard: a(
|
|
64
|
+
o(e.EMPLOYEE_RETURN_TO_LIST, "list", t),
|
|
65
|
+
o(e.EMPLOYEES_LIST, "list", t),
|
|
66
|
+
o(e.CANCEL, "list", t)
|
|
64
67
|
)
|
|
65
68
|
};
|
|
66
69
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"employeeListStateMachine.js","sources":["../../../../src/components/Employee/EmployeeListFlow/employeeListStateMachine.ts"],"sourcesContent":["import { transition, reduce, state } from 'robot3'\nimport {\n DashboardFlowContextual,\n EmployeeListContextual,\n OnboardingExecutionFlowContextual,\n TerminationFlowContextual,\n type EmployeeListFlowContextInterface,\n} from './EmployeeListFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { FlowHeaderConfig } from '@/components/Flow/useFlow'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: { employeeId: string }\n [componentEvents.EMPLOYEE_DISMISS]: { employeeId: string }\n}\n\nconst backToListHeader: FlowHeaderConfig = {\n type: 'minimal',\n back: {\n labelKey: 'backToListCta',\n namespace: 'Employee.ManagementEmployeeList',\n event: componentEvents.EMPLOYEE_RETURN_TO_LIST,\n },\n}\n\nconst returnToList = reduce(\n (ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: EmployeeListContextual,\n header: null,\n employeeId: undefined,\n }),\n)\n\n/** @internal */\nexport const employeeListStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'dashboard',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: DashboardFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_DISMISS,\n 'terminate',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_DISMISS>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: TerminationFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'onboard',\n reduce((ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: OnboardingExecutionFlowContextual,\n header: backToListHeader,\n })),\n ),\n ),\n dashboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n ),\n terminate: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n ),\n onboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.EMPLOYEES_LIST, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n}\n"],"names":["backToListHeader","componentEvents","returnToList","reduce","ctx","EmployeeListContextual","employeeListStateMachine","state","transition","ev","DashboardFlowContextual","TerminationFlowContextual","OnboardingExecutionFlowContextual"],"mappings":";;;AAiBA,MAAMA,IAAqC;AAAA,EACzC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,OAAOC,EAAgB;AAAA,EAAA;AAE3B,GAEMC,IAAeC;AAAA,EACnB,CAACC,OAA6E;AAAA,IAC5E,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,QAAQ;AAAA,IACR,YAAY;AAAA,EAAA;AAEhB,GAGaC,IAA2B;AAAA,EACtC,MAAMC;AAAA,IACJC;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWM;AAAA,UACX,QAAQV;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWO;AAAA,UACX,QAAQX;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE,EAAO,CAACC,OAA6E;AAAA,QACnF,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,QAAQZ;AAAA,MAAA,EACR;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,WAAWO;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,EAAA;AAAA,EAE1E,WAAWK;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,EAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"employeeListStateMachine.js","sources":["../../../../src/components/Employee/EmployeeListFlow/employeeListStateMachine.ts"],"sourcesContent":["import { transition, reduce, state } from 'robot3'\nimport {\n DashboardFlowContextual,\n EmployeeListContextual,\n OnboardingExecutionFlowContextual,\n TerminationFlowContextual,\n type EmployeeListFlowContextInterface,\n} from './EmployeeListFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { FlowHeaderConfig } from '@/components/Flow/useFlow'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: { employeeId: string }\n [componentEvents.EMPLOYEE_DISMISS]: { employeeId: string }\n}\n\nconst backToListHeader: FlowHeaderConfig = {\n type: 'minimal',\n back: {\n labelKey: 'backToListCta',\n namespace: 'Employee.ManagementEmployeeList',\n event: componentEvents.EMPLOYEE_RETURN_TO_LIST,\n },\n}\n\nconst returnToList = reduce(\n (ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: EmployeeListContextual,\n header: null,\n employeeId: undefined,\n }),\n)\n\n/** @internal */\nexport const employeeListStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'dashboard',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: DashboardFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_DISMISS,\n 'terminate',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_DISMISS>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: TerminationFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'onboard',\n reduce((ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: OnboardingExecutionFlowContextual,\n header: backToListHeader,\n })),\n ),\n ),\n dashboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n ),\n terminate: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.PAYROLL_EXIT_FLOW, 'list', returnToList),\n transition(componentEvents.RUN_PAYROLL_CANCELLED, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n onboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.EMPLOYEES_LIST, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n}\n"],"names":["backToListHeader","componentEvents","returnToList","reduce","ctx","EmployeeListContextual","employeeListStateMachine","state","transition","ev","DashboardFlowContextual","TerminationFlowContextual","OnboardingExecutionFlowContextual"],"mappings":";;;AAiBA,MAAMA,IAAqC;AAAA,EACzC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,OAAOC,EAAgB;AAAA,EAAA;AAE3B,GAEMC,IAAeC;AAAA,EACnB,CAACC,OAA6E;AAAA,IAC5E,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,QAAQ;AAAA,IACR,YAAY;AAAA,EAAA;AAEhB,GAGaC,IAA2B;AAAA,EACtC,MAAMC;AAAA,IACJC;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWM;AAAA,UACX,QAAQV;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWO;AAAA,UACX,QAAQX;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE,EAAO,CAACC,OAA6E;AAAA,QACnF,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,QAAQZ;AAAA,MAAA,EACR;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,WAAWO;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,EAAA;AAAA,EAE1E,WAAWK;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,IACxEM,EAAWP,EAAgB,mBAAmB,QAAQC,CAAY;AAAA,IAClEM,EAAWP,EAAgB,uBAAuB,QAAQC,CAAY;AAAA,IACtEM,EAAWP,EAAgB,QAAQ,QAAQC,CAAY;AAAA,EAAA;AAAA,EAEzD,SAASK;AAAA,IACPC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,IACxEM,EAAWP,EAAgB,gBAAgB,QAAQC,CAAY;AAAA,IAC/DM,EAAWP,EAAgB,QAAQ,QAAQC,CAAY;AAAA,EAAA;AAE3D;"}
|
|
@@ -3,10 +3,10 @@ import { useTranslation as x, Trans as s } from "react-i18next";
|
|
|
3
3
|
import { BaseLayout as b } from "../../../Base/Base.js";
|
|
4
4
|
import "../../../Base/useBase.js";
|
|
5
5
|
import { Form as I } from "../../../Common/Form/Form.js";
|
|
6
|
-
import { Flex as l } from "../../../Common/Flex/Flex.js";
|
|
7
6
|
import { SDKFormProvider as R } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
8
7
|
import { useComponentContext as D } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
8
|
import { useI18n as F, useComponentDictionary as S } from "../../../../i18n/I18n.js";
|
|
9
|
+
import { Flex as l } from "../../../Common/Flex/Flex.js";
|
|
10
10
|
function Q({
|
|
11
11
|
federalTaxes: r,
|
|
12
12
|
onSubmit: d,
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { HomeAddressView as
|
|
3
|
-
import { useHomeAddressManagement as
|
|
4
|
-
import { BaseBoundaries as
|
|
5
|
-
import { useI18n as
|
|
2
|
+
import { HomeAddressView as A } from "./HomeAddressView.js";
|
|
3
|
+
import { useHomeAddressManagement as H, isUseHomeAddressManagementSuccess as c } from "./useHomeAddressManagement.js";
|
|
4
|
+
import { BaseBoundaries as g, BaseLayout as t } from "../../../Base/Base.js";
|
|
5
|
+
import { useI18n as l, useComponentDictionary as D } from "../../../../i18n/I18n.js";
|
|
6
6
|
import { componentEvents as i } from "../../../../shared/constants.js";
|
|
7
|
-
function
|
|
7
|
+
function M({
|
|
8
8
|
employeeId: d,
|
|
9
9
|
onEvent: r,
|
|
10
10
|
dictionary: o,
|
|
11
|
-
LoaderComponent: m
|
|
11
|
+
LoaderComponent: m,
|
|
12
|
+
className: n
|
|
12
13
|
}) {
|
|
13
|
-
|
|
14
|
-
const e =
|
|
14
|
+
l("Employee.Management.HomeAddress"), D("Employee.Management.HomeAddress", o);
|
|
15
|
+
const e = H({ employeeId: d, onEvent: r });
|
|
15
16
|
if (e.isLoading)
|
|
16
17
|
return /* @__PURE__ */ s(
|
|
17
18
|
t,
|
|
@@ -21,13 +22,13 @@ function D({
|
|
|
21
22
|
LoaderComponent: m
|
|
22
23
|
}
|
|
23
24
|
);
|
|
24
|
-
if (!
|
|
25
|
+
if (!c(e))
|
|
25
26
|
return /* @__PURE__ */ s(t, { error: e.errorHandling.errors, LoaderComponent: m });
|
|
26
|
-
const
|
|
27
|
+
const E = (a) => {
|
|
27
28
|
a.mode === "create" ? r(i.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_CREATED, a.data) : r(i.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_UPDATED, a.data);
|
|
28
29
|
};
|
|
29
30
|
return /* @__PURE__ */ s(t, { error: e.errorHandling.errors, LoaderComponent: m, children: /* @__PURE__ */ s(
|
|
30
|
-
|
|
31
|
+
A,
|
|
31
32
|
{
|
|
32
33
|
editHomeAddressForm: e.data.editHomeAddressForm,
|
|
33
34
|
createHomeAddressForm: e.data.createHomeAddressForm,
|
|
@@ -35,31 +36,32 @@ function D({
|
|
|
35
36
|
employeeDisplayName: e.data.employeeDisplayName,
|
|
36
37
|
editingHomeAddressUuid: e.data.editingHomeAddressUuid,
|
|
37
38
|
onEditAddressTargetChange: e.actions.setEditAddressTarget,
|
|
38
|
-
onSaved:
|
|
39
|
+
onSaved: E,
|
|
39
40
|
onConfirmDelete: e.actions.confirmDeleteHomeAddress,
|
|
40
41
|
onBack: () => {
|
|
41
42
|
r(i.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_EDIT_CANCELLED);
|
|
42
43
|
},
|
|
43
|
-
isDeletePending: e.status.isDeletePending
|
|
44
|
+
isDeletePending: e.status.isDeletePending,
|
|
45
|
+
className: n
|
|
44
46
|
}
|
|
45
47
|
) });
|
|
46
48
|
}
|
|
47
|
-
function
|
|
49
|
+
function S({
|
|
48
50
|
FallbackComponent: d,
|
|
49
51
|
LoaderComponent: r,
|
|
50
52
|
...o
|
|
51
53
|
}) {
|
|
52
54
|
return /* @__PURE__ */ s(
|
|
53
|
-
|
|
55
|
+
g,
|
|
54
56
|
{
|
|
55
57
|
componentName: "Employee.Management.HomeAddress",
|
|
56
58
|
FallbackComponent: d,
|
|
57
59
|
LoaderComponent: r,
|
|
58
|
-
children: /* @__PURE__ */ s(
|
|
60
|
+
children: /* @__PURE__ */ s(M, { LoaderComponent: r, ...o })
|
|
59
61
|
}
|
|
60
62
|
);
|
|
61
63
|
}
|
|
62
64
|
export {
|
|
63
|
-
|
|
65
|
+
S as HomeAddressEditForm
|
|
64
66
|
};
|
|
65
67
|
//# sourceMappingURL=HomeAddressEditForm.js.map
|