@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
package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagementContractorListView.js","sources":["../../../../../src/components/Contractor/ContractorList/management/ManagementContractorListView.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { UseContractorListResult, ContractorWithActions } from '../shared/useContractorList'\nimport type { ContractorTab } from './ManagementContractorList'\nimport { DataView, EmptyData, useDataView, Flex, VisuallyHidden } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport XCircleSvg from '@/assets/icons/x-circle.svg?react'\nimport EyeSvg from '@/assets/icons/eye.svg?react'\nimport SlashCircleSvg from '@/assets/icons/slash-circle.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { normalizeToDate, formatDateLong, formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport { CONTRACTOR_TYPE, ContractorOnboardingStatus } from '@/shared/constants'\n\n/** @internal */\nexport interface ManagementContractorListViewProps extends Pick<\n Extract<UseContractorListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n contractors: ContractorWithActions[]\n isFetching: boolean\n selectedTab: ContractorTab\n onTabChange: (tab: ContractorTab) => void\n onEdit: (contractorId: string) => void\n onView: (contractorId: string) => void\n onDismiss: (contractorId: string) => void\n onRehire: (contractorId: string) => void\n onDelete: (contractorId: string) => Promise<void>\n onCancelSelfOnboarding: (contractorId: string) => Promise<void>\n onCancelDismissal: (contractorId: string) => Promise<void>\n onCancelRehire: (contractorId: string) => Promise<void>\n onAddContractor: () => void\n}\n\nfunction contractorDisplayName(contractor: ContractorWithActions) {\n return contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? (contractor.businessName ?? '')\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n}\n\nfunction ContractorNameCell({ contractor }: { contractor: ContractorWithActions }) {\n const Components = useComponentContext()\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text size=\"sm\" weight=\"medium\">\n {contractorDisplayName(contractor)}\n </Components.Text>\n <Components.Text variant=\"supporting\" size=\"sm\">\n {contractor.type ?? '–'}\n </Components.Text>\n </Flex>\n )\n}\n\nfunction formatBadgeDate(dateStr: string): string {\n const date = normalizeToDate(dateStr)\n if (!date) return ''\n const isSameYear = date.getFullYear() === new Date().getFullYear()\n return isSameYear ? formatDateLong(date) : formatDateLongWithYear(date)\n}\n\nfunction isOnboardingEditReview(onboardingStatus?: string | null) {\n return (\n onboardingStatus === ContractorOnboardingStatus.ADMIN_ONBOARDING_REVIEW ||\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_REVIEW\n )\n}\n\n/** @internal */\nexport function ManagementContractorListView({\n contractors,\n isFetching,\n selectedTab,\n onTabChange,\n status,\n pagination,\n onEdit,\n onView,\n onDismiss,\n onRehire,\n onDelete,\n onCancelSelfOnboarding,\n onCancelDismissal,\n onCancelRehire,\n onAddContractor,\n}: ManagementContractorListViewProps) {\n const { t } = useTranslation('Contractor.ManagementContractorList')\n const Components = useComponentContext()\n const [contractorToRemove, setContractorToRemove] = useState<string | null>(null)\n const [cancelAction, setCancelAction] = useState<{\n contractorId: string\n type: 'dismissal' | 'rehire'\n } | null>(null)\n\n // Columns, item-menu shape, and empty-state copy stay pinned to the previously\n // committed tab until the new tab's data lands, so they swap in one paint together\n // with `contractors`/`pagination` instead of flashing ahead of the still-stale rows\n // that `keepPreviousData` is rendering.\n const [committedTab, setCommittedTab] = useState(selectedTab)\n useEffect(() => {\n if (!isFetching) {\n setCommittedTab(selectedTab)\n }\n }, [selectedTab, isFetching])\n\n const tabs = [\n { id: 'active', label: t('tabs.active'), content: null },\n { id: 'onboarding', label: t('tabs.onboarding'), content: null },\n { id: 'dismissed', label: t('tabs.dismissed'), content: null },\n ]\n\n const getColumns = () => {\n const nameColumn = {\n key: 'name',\n title: t('nameLabel'),\n render: (contractor: ContractorWithActions) => <ContractorNameCell contractor={contractor} />,\n }\n\n if (committedTab === 'active') {\n return [\n nameColumn,\n {\n key: 'rate',\n title: t('rateLabel'),\n render: (contractor: ContractorWithActions) =>\n contractor.wageType === 'Hourly' && contractor.hourlyRate\n ? t('rateHourly', { rate: `$${contractor.hourlyRate}` })\n : (contractor.wageType ?? '–'),\n },\n {\n key: 'status',\n title: <VisuallyHidden>{t('statusColumnLabel')}</VisuallyHidden>,\n render: (contractor: ContractorWithActions) => {\n if (contractor.upcomingEmployment?.startDate) {\n return (\n <Components.Badge status=\"info\">\n {t('startsBadge', {\n date: formatBadgeDate(contractor.upcomingEmployment.startDate),\n })}\n </Components.Badge>\n )\n }\n if (contractor.dismissalDate) {\n return (\n <Components.Badge status=\"warning\">\n {t('lastDayBadge', { date: formatBadgeDate(contractor.dismissalDate) })}\n </Components.Badge>\n )\n }\n return null\n },\n },\n ]\n }\n\n if (committedTab === 'onboarding') {\n return [\n nameColumn,\n {\n key: 'status',\n title: t('onboardingStatusLabel'),\n render: (contractor: ContractorWithActions) => (\n <Flex alignItems=\"center\" gap={8}>\n <ContractorOnboardingStatusBadge\n onboarded={contractor.onboarded}\n onboardingStatus={contractor.onboardingStatus}\n />\n {contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED &&\n contractor.upcomingEmployment?.startDate && (\n <Components.Badge status=\"info\">\n {t('startsBadge', {\n date: formatBadgeDate(contractor.upcomingEmployment.startDate),\n })}\n </Components.Badge>\n )}\n </Flex>\n ),\n },\n ]\n }\n\n return [\n nameColumn,\n {\n key: 'dismissalDate',\n title: t('dismissalDateLabel'),\n render: (contractor: ContractorWithActions) =>\n contractor.dismissalDate ? formatBadgeDate(contractor.dismissalDate) : '–',\n },\n ]\n }\n\n const { ...dataViewProps } = useDataView({\n data: contractors,\n columns: getColumns(),\n itemMenu: contractor => {\n if (committedTab === 'onboarding') {\n const menuItems = []\n\n if (contractor.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(contractor.uuid)\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('removeCta'),\n onClick: () => {\n setContractorToRemove(contractor.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"flex-end\" gap={4}>\n {contractor.allowedActions.includes('edit') && (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEdit(contractor.uuid)\n }}\n >\n {isOnboardingEditReview(contractor.onboardingStatus)\n ? t('reviewCta')\n : t('continueCta')}\n </Components.Button>\n )}\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle', { name: contractorDisplayName(contractor) })}\n />\n </Flex>\n )\n }\n\n const menuItems = []\n\n if (contractor.allowedActions.includes('view')) {\n menuItems.push({\n label: t('viewDetailsCta'),\n onClick: () => {\n onView(contractor.uuid)\n },\n icon: <EyeSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_rehire')) {\n menuItems.push({\n label: t('cancelRehireCta'),\n onClick: () => {\n setCancelAction({ contractorId: contractor.uuid, type: 'rehire' })\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_dismissal')) {\n menuItems.push({\n label: t('cancelDismissalCta'),\n onClick: () => {\n setCancelAction({ contractorId: contractor.uuid, type: 'dismissal' })\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('dismiss')) {\n menuItems.push({\n label: t('dismissCta'),\n onClick: () => {\n onDismiss(contractor.uuid)\n },\n icon: <SlashCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('rehire')) {\n menuItems.push({\n label: t('rehireCta'),\n onClick: () => {\n onRehire(contractor.uuid)\n },\n icon: <PlusCircleIcon aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle', { name: contractorDisplayName(contractor) })}\n />\n )\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData\n title={t(`emptyState.${committedTab}.title`)}\n description={t(`emptyState.${committedTab}.description`)}\n />\n ),\n })\n\n return (\n <>\n <Flex flexDirection=\"column\" gap={32}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Button variant=\"secondary\" onClick={onAddContractor}>\n {t('addContractorCta')}\n </Components.Button>\n </Flex>\n\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Tabs\n tabs={tabs}\n selectedId={selectedTab}\n onSelectionChange={id => {\n onTabChange(id as ContractorTab)\n }}\n aria-label={t('tabsLabel')}\n />\n\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n </Flex>\n </Flex>\n\n <Components.Dialog\n isOpen={!!contractorToRemove}\n onClose={() => {\n setContractorToRemove(null)\n }}\n onPrimaryActionClick={async () => {\n if (contractorToRemove) {\n try {\n await onDelete(contractorToRemove)\n setContractorToRemove(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('removeDialog.title')}\n primaryActionLabel={t('removeDialog.confirmCta')}\n closeActionLabel={t('removeDialog.cancelCta')}\n >\n {t('removeDialog.description')}\n </Components.Dialog>\n\n <Components.Dialog\n isOpen={!!cancelAction}\n onClose={() => {\n setCancelAction(null)\n }}\n onPrimaryActionClick={async () => {\n if (!cancelAction) return\n try {\n if (cancelAction.type === 'rehire') {\n await onCancelRehire(cancelAction.contractorId)\n } else {\n await onCancelDismissal(cancelAction.contractorId)\n }\n setCancelAction(null)\n } catch {\n // Keep dialog open on error\n }\n }}\n isPrimaryActionLoading={status.isPending}\n title={\n cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.title')\n : t('cancelDismissalDialog.title')\n }\n primaryActionLabel={\n cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.confirmCta')\n : t('cancelDismissalDialog.confirmCta')\n }\n closeActionLabel={\n cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.cancelCta')\n : t('cancelDismissalDialog.cancelCta')\n }\n >\n {cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.description')\n : t('cancelDismissalDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["contractorDisplayName","contractor","CONTRACTOR_TYPE","firstLastName","ContractorNameCell","Components","useComponentContext","jsxs","Flex","jsx","formatBadgeDate","dateStr","date","normalizeToDate","formatDateLong","formatDateLongWithYear","isOnboardingEditReview","onboardingStatus","ContractorOnboardingStatus","ManagementContractorListView","contractors","isFetching","selectedTab","onTabChange","status","pagination","onEdit","onView","onDismiss","onRehire","onDelete","onCancelSelfOnboarding","onCancelDismissal","onCancelRehire","onAddContractor","t","useTranslation","contractorToRemove","setContractorToRemove","useState","cancelAction","setCancelAction","committedTab","setCommittedTab","useEffect","tabs","getColumns","nameColumn","VisuallyHidden","ContractorOnboardingStatusBadge","dataViewProps","useDataView","menuItems","XCircleSvg","TrashCanSvg","HamburgerMenu","EyeSvg","SlashCircleSvg","PlusCircleIcon","EmptyData","Fragment","id","DataView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManagementContractorListView.js","sources":["../../../../../src/components/Contractor/ContractorList/management/ManagementContractorListView.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { UseContractorListResult, ContractorWithActions } from '../shared/useContractorList'\nimport type { ContractorTab } from './ManagementContractorList'\nimport { DataView, EmptyData, useDataView, Flex, VisuallyHidden } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport XCircleSvg from '@/assets/icons/x-circle.svg?react'\nimport EyeSvg from '@/assets/icons/eye.svg?react'\nimport SlashCircleSvg from '@/assets/icons/slash-circle.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { normalizeToDate, formatDateLong, formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport { CONTRACTOR_TYPE, ContractorOnboardingStatus } from '@/shared/constants'\n\n/** @internal */\nexport interface ManagementContractorListViewProps extends Pick<\n Extract<UseContractorListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n /** CSS class name applied to the root element. */\n className?: string\n contractors: ContractorWithActions[]\n isFetching: boolean\n selectedTab: ContractorTab\n onTabChange: (tab: ContractorTab) => void\n onEdit: (contractorId: string) => void\n onView: (contractorId: string) => void\n onDismiss: (contractorId: string) => void\n onRehire: (contractorId: string) => void\n onDelete: (contractorId: string) => Promise<void>\n onCancelSelfOnboarding: (contractorId: string) => Promise<void>\n onCancelDismissal: (contractorId: string) => Promise<void>\n onCancelRehire: (contractorId: string) => Promise<void>\n onAddContractor: () => void\n}\n\nfunction contractorDisplayName(contractor: ContractorWithActions) {\n return contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? (contractor.businessName ?? '')\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n}\n\nfunction ContractorNameCell({ contractor }: { contractor: ContractorWithActions }) {\n const Components = useComponentContext()\n return (\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Text size=\"sm\" weight=\"medium\">\n {contractorDisplayName(contractor)}\n </Components.Text>\n <Components.Text variant=\"supporting\" size=\"sm\">\n {contractor.type ?? '–'}\n </Components.Text>\n </Flex>\n )\n}\n\nfunction formatBadgeDate(dateStr: string): string {\n const date = normalizeToDate(dateStr)\n if (!date) return ''\n const isSameYear = date.getFullYear() === new Date().getFullYear()\n return isSameYear ? formatDateLong(date) : formatDateLongWithYear(date)\n}\n\nfunction isOnboardingEditReview(onboardingStatus?: string | null) {\n return (\n onboardingStatus === ContractorOnboardingStatus.ADMIN_ONBOARDING_REVIEW ||\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_REVIEW\n )\n}\n\n/** @internal */\nexport function ManagementContractorListView({\n className,\n contractors,\n isFetching,\n selectedTab,\n onTabChange,\n status,\n pagination,\n onEdit,\n onView,\n onDismiss,\n onRehire,\n onDelete,\n onCancelSelfOnboarding,\n onCancelDismissal,\n onCancelRehire,\n onAddContractor,\n}: ManagementContractorListViewProps) {\n const { t } = useTranslation('Contractor.ManagementContractorList')\n const Components = useComponentContext()\n const [contractorToRemove, setContractorToRemove] = useState<string | null>(null)\n const [cancelAction, setCancelAction] = useState<{\n contractorId: string\n type: 'dismissal' | 'rehire'\n } | null>(null)\n\n // Columns, item-menu shape, and empty-state copy stay pinned to the previously\n // committed tab until the new tab's data lands, so they swap in one paint together\n // with `contractors`/`pagination` instead of flashing ahead of the still-stale rows\n // that `keepPreviousData` is rendering.\n const [committedTab, setCommittedTab] = useState(selectedTab)\n useEffect(() => {\n if (!isFetching) {\n setCommittedTab(selectedTab)\n }\n }, [selectedTab, isFetching])\n\n const tabs = [\n { id: 'active', label: t('tabs.active'), content: null },\n { id: 'onboarding', label: t('tabs.onboarding'), content: null },\n { id: 'dismissed', label: t('tabs.dismissed'), content: null },\n ]\n\n const getColumns = () => {\n const nameColumn = {\n key: 'name',\n title: t('nameLabel'),\n render: (contractor: ContractorWithActions) => <ContractorNameCell contractor={contractor} />,\n }\n\n if (committedTab === 'active') {\n return [\n nameColumn,\n {\n key: 'rate',\n title: t('rateLabel'),\n render: (contractor: ContractorWithActions) =>\n contractor.wageType === 'Hourly' && contractor.hourlyRate\n ? t('rateHourly', { rate: `$${contractor.hourlyRate}` })\n : (contractor.wageType ?? '–'),\n },\n {\n key: 'status',\n title: <VisuallyHidden>{t('statusColumnLabel')}</VisuallyHidden>,\n render: (contractor: ContractorWithActions) => {\n if (contractor.upcomingEmployment?.startDate) {\n return (\n <Components.Badge status=\"info\">\n {t('startsBadge', {\n date: formatBadgeDate(contractor.upcomingEmployment.startDate),\n })}\n </Components.Badge>\n )\n }\n if (contractor.dismissalDate) {\n return (\n <Components.Badge status=\"warning\">\n {t('lastDayBadge', { date: formatBadgeDate(contractor.dismissalDate) })}\n </Components.Badge>\n )\n }\n return null\n },\n },\n ]\n }\n\n if (committedTab === 'onboarding') {\n return [\n nameColumn,\n {\n key: 'status',\n title: t('onboardingStatusLabel'),\n render: (contractor: ContractorWithActions) => (\n <Flex alignItems=\"center\" gap={8}>\n <ContractorOnboardingStatusBadge\n onboarded={contractor.onboarded}\n onboardingStatus={contractor.onboardingStatus}\n />\n {contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED &&\n contractor.upcomingEmployment?.startDate && (\n <Components.Badge status=\"info\">\n {t('startsBadge', {\n date: formatBadgeDate(contractor.upcomingEmployment.startDate),\n })}\n </Components.Badge>\n )}\n </Flex>\n ),\n },\n ]\n }\n\n return [\n nameColumn,\n {\n key: 'dismissalDate',\n title: t('dismissalDateLabel'),\n render: (contractor: ContractorWithActions) =>\n contractor.dismissalDate ? formatBadgeDate(contractor.dismissalDate) : '–',\n },\n ]\n }\n\n const { ...dataViewProps } = useDataView({\n data: contractors,\n columns: getColumns(),\n itemMenu: contractor => {\n if (committedTab === 'onboarding') {\n const menuItems = []\n\n if (contractor.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(contractor.uuid)\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('removeCta'),\n onClick: () => {\n setContractorToRemove(contractor.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"flex-end\" gap={4}>\n {contractor.allowedActions.includes('edit') && (\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEdit(contractor.uuid)\n }}\n >\n {isOnboardingEditReview(contractor.onboardingStatus)\n ? t('reviewCta')\n : t('continueCta')}\n </Components.Button>\n )}\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle', { name: contractorDisplayName(contractor) })}\n />\n </Flex>\n )\n }\n\n const menuItems = []\n\n if (contractor.allowedActions.includes('view')) {\n menuItems.push({\n label: t('viewDetailsCta'),\n onClick: () => {\n onView(contractor.uuid)\n },\n icon: <EyeSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_rehire')) {\n menuItems.push({\n label: t('cancelRehireCta'),\n onClick: () => {\n setCancelAction({ contractorId: contractor.uuid, type: 'rehire' })\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_dismissal')) {\n menuItems.push({\n label: t('cancelDismissalCta'),\n onClick: () => {\n setCancelAction({ contractorId: contractor.uuid, type: 'dismissal' })\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('dismiss')) {\n menuItems.push({\n label: t('dismissCta'),\n onClick: () => {\n onDismiss(contractor.uuid)\n },\n icon: <SlashCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('rehire')) {\n menuItems.push({\n label: t('rehireCta'),\n onClick: () => {\n onRehire(contractor.uuid)\n },\n icon: <PlusCircleIcon aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n items={menuItems}\n triggerLabel={t('hamburgerTitle', { name: contractorDisplayName(contractor) })}\n />\n )\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData\n title={t(`emptyState.${committedTab}.title`)}\n description={t(`emptyState.${committedTab}.description`)}\n />\n ),\n })\n\n return (\n <>\n <Flex className={className} flexDirection=\"column\" gap={32}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Components.Button variant=\"secondary\" onClick={onAddContractor}>\n {t('addContractorCta')}\n </Components.Button>\n </Flex>\n\n <Flex flexDirection=\"column\" gap={0}>\n <Components.Tabs\n tabs={tabs}\n selectedId={selectedTab}\n onSelectionChange={id => {\n onTabChange(id as ContractorTab)\n }}\n aria-label={t('tabsLabel')}\n />\n\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n </Flex>\n </Flex>\n\n <Components.Dialog\n isOpen={!!contractorToRemove}\n onClose={() => {\n setContractorToRemove(null)\n }}\n onPrimaryActionClick={async () => {\n if (contractorToRemove) {\n try {\n await onDelete(contractorToRemove)\n setContractorToRemove(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('removeDialog.title')}\n primaryActionLabel={t('removeDialog.confirmCta')}\n closeActionLabel={t('removeDialog.cancelCta')}\n >\n {t('removeDialog.description')}\n </Components.Dialog>\n\n <Components.Dialog\n isOpen={!!cancelAction}\n onClose={() => {\n setCancelAction(null)\n }}\n onPrimaryActionClick={async () => {\n if (!cancelAction) return\n try {\n if (cancelAction.type === 'rehire') {\n await onCancelRehire(cancelAction.contractorId)\n } else {\n await onCancelDismissal(cancelAction.contractorId)\n }\n setCancelAction(null)\n } catch {\n // Keep dialog open on error\n }\n }}\n isPrimaryActionLoading={status.isPending}\n title={\n cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.title')\n : t('cancelDismissalDialog.title')\n }\n primaryActionLabel={\n cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.confirmCta')\n : t('cancelDismissalDialog.confirmCta')\n }\n closeActionLabel={\n cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.cancelCta')\n : t('cancelDismissalDialog.cancelCta')\n }\n >\n {cancelAction?.type === 'rehire'\n ? t('cancelRehireDialog.description')\n : t('cancelDismissalDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["contractorDisplayName","contractor","CONTRACTOR_TYPE","firstLastName","ContractorNameCell","Components","useComponentContext","jsxs","Flex","jsx","formatBadgeDate","dateStr","date","normalizeToDate","formatDateLong","formatDateLongWithYear","isOnboardingEditReview","onboardingStatus","ContractorOnboardingStatus","ManagementContractorListView","className","contractors","isFetching","selectedTab","onTabChange","status","pagination","onEdit","onView","onDismiss","onRehire","onDelete","onCancelSelfOnboarding","onCancelDismissal","onCancelRehire","onAddContractor","t","useTranslation","contractorToRemove","setContractorToRemove","useState","cancelAction","setCancelAction","committedTab","setCommittedTab","useEffect","tabs","getColumns","nameColumn","VisuallyHidden","ContractorOnboardingStatusBadge","dataViewProps","useDataView","menuItems","XCircleSvg","TrashCanSvg","HamburgerMenu","EyeSvg","SlashCircleSvg","PlusCircleIcon","EmptyData","Fragment","id","DataView"],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import { useContractorList as
|
|
3
|
-
import { ContractorListView as
|
|
4
|
-
import { BaseBoundaries as
|
|
5
|
-
import { useI18n as
|
|
2
|
+
import { useContractorList as T } from "../shared/useContractorList.js";
|
|
3
|
+
import { ContractorListView as l } from "./ContractorListView.js";
|
|
4
|
+
import { BaseBoundaries as L, BaseLayout as C } from "../../../Base/Base.js";
|
|
5
|
+
import { useI18n as N, useComponentDictionary as f } from "../../../../i18n/I18n.js";
|
|
6
6
|
import { componentEvents as n } from "../../../../shared/constants.js";
|
|
7
|
-
function
|
|
7
|
+
function A({
|
|
8
8
|
companyId: a,
|
|
9
9
|
onEvent: o,
|
|
10
10
|
dictionary: s,
|
|
11
11
|
successMessage: u,
|
|
12
|
-
LoaderComponent: c
|
|
12
|
+
LoaderComponent: c,
|
|
13
|
+
className: d
|
|
13
14
|
}) {
|
|
14
|
-
|
|
15
|
-
const t =
|
|
15
|
+
N("Contractor.ContractorList"), f("Contractor.ContractorList", s);
|
|
16
|
+
const t = T({ companyId: a });
|
|
16
17
|
if (t.isLoading)
|
|
17
18
|
return /* @__PURE__ */ i(
|
|
18
19
|
C,
|
|
@@ -22,22 +23,23 @@ function f({
|
|
|
22
23
|
LoaderComponent: c
|
|
23
24
|
}
|
|
24
25
|
);
|
|
25
|
-
const
|
|
26
|
+
const O = () => {
|
|
26
27
|
o(n.CONTRACTOR_CREATE);
|
|
27
|
-
},
|
|
28
|
+
}, m = (r) => {
|
|
28
29
|
o(n.CONTRACTOR_UPDATE, { contractorId: r });
|
|
29
|
-
},
|
|
30
|
+
}, R = () => {
|
|
30
31
|
o(n.CONTRACTOR_ONBOARDING_CONTINUE);
|
|
31
32
|
};
|
|
32
33
|
return /* @__PURE__ */ i(C, { error: t.errorHandling.errors, LoaderComponent: c, children: /* @__PURE__ */ i(
|
|
33
|
-
|
|
34
|
+
l,
|
|
34
35
|
{
|
|
36
|
+
className: d,
|
|
35
37
|
contractors: t.data.contractors,
|
|
36
38
|
isFetching: t.status.isFetching,
|
|
37
39
|
pagination: t.pagination,
|
|
38
40
|
status: t.status,
|
|
39
41
|
successMessage: u,
|
|
40
|
-
onEdit:
|
|
42
|
+
onEdit: m,
|
|
41
43
|
onDelete: async (r) => {
|
|
42
44
|
await t.actions.onDelete(r), o(n.CONTRACTOR_DELETED, { contractorId: r });
|
|
43
45
|
},
|
|
@@ -45,27 +47,27 @@ function f({
|
|
|
45
47
|
const e = await t.actions.onCancelSelfOnboarding(r);
|
|
46
48
|
e && o(n.CONTRACTOR_SELF_ONBOARDING_CANCELLED, e);
|
|
47
49
|
},
|
|
48
|
-
onAddContractor:
|
|
49
|
-
onContinue:
|
|
50
|
+
onAddContractor: O,
|
|
51
|
+
onContinue: R
|
|
50
52
|
}
|
|
51
53
|
) });
|
|
52
54
|
}
|
|
53
|
-
function
|
|
55
|
+
function B({
|
|
54
56
|
FallbackComponent: a,
|
|
55
57
|
LoaderComponent: o,
|
|
56
58
|
...s
|
|
57
59
|
}) {
|
|
58
60
|
return /* @__PURE__ */ i(
|
|
59
|
-
|
|
61
|
+
L,
|
|
60
62
|
{
|
|
61
63
|
componentName: "Contractor.ContractorList",
|
|
62
64
|
FallbackComponent: a,
|
|
63
65
|
LoaderComponent: o,
|
|
64
|
-
children: /* @__PURE__ */ i(
|
|
66
|
+
children: /* @__PURE__ */ i(A, { LoaderComponent: o, ...s })
|
|
65
67
|
}
|
|
66
68
|
);
|
|
67
69
|
}
|
|
68
70
|
export {
|
|
69
|
-
|
|
71
|
+
B as ContractorList
|
|
70
72
|
};
|
|
71
73
|
//# sourceMappingURL=ContractorList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractorList.js","sources":["../../../../../src/components/Contractor/ContractorList/onboarding/ContractorList.tsx"],"sourcesContent":["import { useContractorList } from '../shared/useContractorList'\nimport { ContractorListView } from './ContractorListView'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link ContractorList}.\n *\n * @public\n */\nexport interface ContractorListProps extends BaseComponentInterface<'Contractor.ContractorList'> {\n /** The associated company identifier. */\n companyId: string\n /** Success message to display in an alert above the list, typically after a create, update, or delete action. */\n successMessage?: string\n}\n\nfunction ContractorListRoot({\n companyId,\n onEvent,\n dictionary,\n successMessage,\n LoaderComponent,\n}: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n useComponentDictionary('Contractor.ContractorList', dictionary)\n\n const contractorList = useContractorList({ companyId })\n\n if (contractorList.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={contractorList.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleAddContractor = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (contractorId: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n return (\n <BaseLayout error={contractorList.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <ContractorListView\n contractors={contractorList.data.contractors}\n isFetching={contractorList.status.isFetching}\n pagination={contractorList.pagination}\n status={contractorList.status}\n successMessage={successMessage}\n onEdit={handleEdit}\n onDelete={async (contractorId: string) => {\n await contractorList.actions.onDelete(contractorId)\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId })\n }}\n onCancelSelfOnboarding={async (contractorId: string) => {\n const onboardingStatus = await contractorList.actions.onCancelSelfOnboarding(contractorId)\n if (!onboardingStatus) return\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_CANCELLED, onboardingStatus)\n }}\n onAddContractor={handleAddContractor}\n onContinue={handleContinue}\n />\n </BaseLayout>\n )\n}\n\n/**\n * Lists a company's contractors with controls to add, edit, delete, cancel self-onboarding, and continue onboarding.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/create` | The add-contractor action was triggered. | — |\n * | `contractor/update` | A contractor row's edit action was triggered. | `{ contractorId: string }` |\n * | `contractor/deleted` | A contractor was successfully deleted. | `{ contractorId: string }` |\n * | `contractor/selfOnboarding/cancelled` | A contractor's self-onboarding was cancelled, reverting them to admin onboarding. | The updated `contractorOnboardingStatus` returned by the API. |\n * | `contractor/onboarding/continue` | The continue action was triggered to advance onboarding. | — |\n *\n * @param props - See {@link ContractorListProps}.\n * @returns The rendered contractor list.\n * @public\n */\nexport function ContractorList({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: ContractorListProps) {\n return (\n <BaseBoundaries\n componentName=\"Contractor.ContractorList\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <ContractorListRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["ContractorListRoot","companyId","onEvent","dictionary","successMessage","LoaderComponent","useI18n","useComponentDictionary","contractorList","useContractorList","jsx","BaseLayout","handleAddContractor","componentEvents","handleEdit","contractorId","handleContinue","ContractorListView","onboardingStatus","ContractorList","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAkBA,SAASA,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AACF,GAAwB;AACtB,EAAAC,EAAQ,2BAA2B,GACnCC,EAAuB,
|
|
1
|
+
{"version":3,"file":"ContractorList.js","sources":["../../../../../src/components/Contractor/ContractorList/onboarding/ContractorList.tsx"],"sourcesContent":["import { useContractorList } from '../shared/useContractorList'\nimport { ContractorListView } from './ContractorListView'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link ContractorList}.\n *\n * @public\n */\nexport interface ContractorListProps extends BaseComponentInterface<'Contractor.ContractorList'> {\n /** The associated company identifier. */\n companyId: string\n /** Success message to display in an alert above the list, typically after a create, update, or delete action. */\n successMessage?: string\n}\n\nfunction ContractorListRoot({\n companyId,\n onEvent,\n dictionary,\n successMessage,\n LoaderComponent,\n className,\n}: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n useComponentDictionary('Contractor.ContractorList', dictionary)\n\n const contractorList = useContractorList({ companyId })\n\n if (contractorList.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={contractorList.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleAddContractor = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (contractorId: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n return (\n <BaseLayout error={contractorList.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <ContractorListView\n className={className}\n contractors={contractorList.data.contractors}\n isFetching={contractorList.status.isFetching}\n pagination={contractorList.pagination}\n status={contractorList.status}\n successMessage={successMessage}\n onEdit={handleEdit}\n onDelete={async (contractorId: string) => {\n await contractorList.actions.onDelete(contractorId)\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId })\n }}\n onCancelSelfOnboarding={async (contractorId: string) => {\n const onboardingStatus = await contractorList.actions.onCancelSelfOnboarding(contractorId)\n if (!onboardingStatus) return\n onEvent(componentEvents.CONTRACTOR_SELF_ONBOARDING_CANCELLED, onboardingStatus)\n }}\n onAddContractor={handleAddContractor}\n onContinue={handleContinue}\n />\n </BaseLayout>\n )\n}\n\n/**\n * Lists a company's contractors with controls to add, edit, delete, cancel self-onboarding, and continue onboarding.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/create` | The add-contractor action was triggered. | — |\n * | `contractor/update` | A contractor row's edit action was triggered. | `{ contractorId: string }` |\n * | `contractor/deleted` | A contractor was successfully deleted. | `{ contractorId: string }` |\n * | `contractor/selfOnboarding/cancelled` | A contractor's self-onboarding was cancelled, reverting them to admin onboarding. | The updated `contractorOnboardingStatus` returned by the API. |\n * | `contractor/onboarding/continue` | The continue action was triggered to advance onboarding. | — |\n *\n * @param props - See {@link ContractorListProps}.\n * @returns The rendered contractor list.\n * @public\n */\nexport function ContractorList({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: ContractorListProps) {\n return (\n <BaseBoundaries\n componentName=\"Contractor.ContractorList\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <ContractorListRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["ContractorListRoot","companyId","onEvent","dictionary","successMessage","LoaderComponent","className","useI18n","useComponentDictionary","contractorList","useContractorList","jsx","BaseLayout","handleAddContractor","componentEvents","handleEdit","contractorId","handleContinue","ContractorListView","onboardingStatus","ContractorList","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAkBA,SAASA,EAAmB;AAAA,EAC1B,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AACF,GAAwB;AACtB,EAAAC,EAAQ,2BAA2B,GACnCC,EAAuB,6BAA6BL,CAAU;AAE9D,QAAMM,IAAiBC,EAAkB,EAAE,WAAAT,GAAW;AAEtD,MAAIQ,EAAe;AACjB,WACE,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOH,EAAe,cAAc;AAAA,QACpC,iBAAAJ;AAAA,MAAA;AAAA,IAAA;AAKN,QAAMQ,IAAsB,MAAM;AAChC,IAAAX,EAAQY,EAAgB,iBAAiB;AAAA,EAC3C,GAEMC,IAAa,CAACC,MAAyB;AAC3C,IAAAd,EAAQY,EAAgB,mBAAmB,EAAE,cAAAE,EAAA,CAAc;AAAA,EAC7D,GAEMC,IAAiB,MAAM;AAC3B,IAAAf,EAAQY,EAAgB,8BAA8B;AAAA,EACxD;AAEA,2BACGF,GAAA,EAAW,OAAOH,EAAe,cAAc,QAAQ,iBAAAJ,GACtD,UAAA,gBAAAM;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,WAAAZ;AAAA,MACA,aAAaG,EAAe,KAAK;AAAA,MACjC,YAAYA,EAAe,OAAO;AAAA,MAClC,YAAYA,EAAe;AAAA,MAC3B,QAAQA,EAAe;AAAA,MACvB,gBAAAL;AAAA,MACA,QAAQW;AAAA,MACR,UAAU,OAAOC,MAAyB;AACxC,cAAMP,EAAe,QAAQ,SAASO,CAAY,GAClDd,EAAQY,EAAgB,oBAAoB,EAAE,cAAAE,EAAA,CAAc;AAAA,MAC9D;AAAA,MACA,wBAAwB,OAAOA,MAAyB;AACtD,cAAMG,IAAmB,MAAMV,EAAe,QAAQ,uBAAuBO,CAAY;AACzF,QAAKG,KACLjB,EAAQY,EAAgB,sCAAsCK,CAAgB;AAAA,MAChF;AAAA,MACA,iBAAiBN;AAAA,MACjB,YAAYI;AAAA,IAAA;AAAA,EAAA,GAEhB;AAEJ;AAkBO,SAASG,EAAe;AAAA,EAC7B,mBAAAC;AAAA,EACA,iBAAAhB;AAAA,EACA,GAAGiB;AACL,GAAwB;AACtB,SACE,gBAAAX;AAAA,IAACY;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAF;AAAA,MACA,iBAAAhB;AAAA,MAEA,UAAA,gBAAAM,EAACX,GAAA,EAAmB,iBAAAK,GAAmC,GAAGiB,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGvE;"}
|
|
@@ -1,45 +1,46 @@
|
|
|
1
|
-
import { jsx as t, jsxs as s, Fragment as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useTranslation as
|
|
4
|
-
import { Flex as
|
|
5
|
-
import { EmptyData as
|
|
6
|
-
import { ActionsLayout as
|
|
7
|
-
import { HamburgerMenu as
|
|
8
|
-
import { useComponentContext as
|
|
9
|
-
import { ContractorOnboardingStatusBadge as
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { firstLastName as
|
|
14
|
-
import { ContractorOnboardingStatus as
|
|
15
|
-
import { useDataView as
|
|
16
|
-
import { DataView as
|
|
17
|
-
function
|
|
18
|
-
return n.type ===
|
|
1
|
+
import { jsx as t, jsxs as s, Fragment as L } from "react/jsx-runtime";
|
|
2
|
+
import { useState as T } from "react";
|
|
3
|
+
import { useTranslation as N } from "react-i18next";
|
|
4
|
+
import { Flex as u } from "../../../Common/Flex/Flex.js";
|
|
5
|
+
import { EmptyData as v } from "../../../Common/EmptyData/EmptyData.js";
|
|
6
|
+
import { ActionsLayout as p } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
|
+
import { HamburgerMenu as O } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
8
|
+
import { useComponentContext as k } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
|
+
import { ContractorOnboardingStatusBadge as _ } from "../../../Common/OnboardingStatusBadge/index.js";
|
|
10
|
+
import x from "../../../../assets/icons/pencil.svg.js";
|
|
11
|
+
import B from "../../../../assets/icons/trashcan.svg.js";
|
|
12
|
+
import E from "../../../../assets/icons/x-circle.svg.js";
|
|
13
|
+
import { firstLastName as P } from "../../../../helpers/formattedStrings.js";
|
|
14
|
+
import { ContractorOnboardingStatus as I, CONTRACTOR_TYPE as R } from "../../../../shared/constants.js";
|
|
15
|
+
import { useDataView as V } from "../../../Common/DataView/useDataView.js";
|
|
16
|
+
import { DataView as j } from "../../../Common/DataView/DataView.js";
|
|
17
|
+
function f(n) {
|
|
18
|
+
return n.type === R.BUSINESS ? n.businessName : P({ first_name: n.firstName, last_name: n.lastName });
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
function te({
|
|
21
|
+
className: n,
|
|
22
|
+
contractors: d,
|
|
23
|
+
isFetching: C,
|
|
24
|
+
pagination: g,
|
|
25
|
+
status: b,
|
|
26
|
+
successMessage: m,
|
|
27
|
+
onEdit: h,
|
|
28
|
+
onDelete: y,
|
|
29
|
+
onCancelSelfOnboarding: D,
|
|
30
|
+
onAddContractor: c,
|
|
31
|
+
onContinue: S
|
|
31
32
|
}) {
|
|
32
|
-
const { t: e } =
|
|
33
|
-
data:
|
|
33
|
+
const { t: e } = N("Contractor.ContractorList"), o = k(), [r, l] = T(null), { ...w } = V({
|
|
34
|
+
data: d,
|
|
34
35
|
columns: [
|
|
35
36
|
{
|
|
36
37
|
title: e("listHeaders.name"),
|
|
37
|
-
render: (i) =>
|
|
38
|
+
render: (i) => f(i)
|
|
38
39
|
},
|
|
39
40
|
{
|
|
40
41
|
title: e("listHeaders.status"),
|
|
41
42
|
render: (i) => /* @__PURE__ */ t(
|
|
42
|
-
|
|
43
|
+
_,
|
|
43
44
|
{
|
|
44
45
|
onboarded: i.onboarded,
|
|
45
46
|
onboardingStatus: i.onboardingStatus
|
|
@@ -48,46 +49,46 @@ function ee({
|
|
|
48
49
|
}
|
|
49
50
|
],
|
|
50
51
|
itemMenu: (i) => {
|
|
51
|
-
const a = [],
|
|
52
|
+
const a = [], A = i.onboardingStatus === I.SELF_ONBOARDING_REVIEW;
|
|
52
53
|
return i.allowedActions.includes("edit") && a.push({
|
|
53
|
-
label: e(
|
|
54
|
+
label: e(A ? "reviewCta" : "editCta"),
|
|
54
55
|
onClick: () => {
|
|
55
|
-
|
|
56
|
+
h(i.uuid);
|
|
56
57
|
},
|
|
57
|
-
icon: /* @__PURE__ */ t(
|
|
58
|
+
icon: /* @__PURE__ */ t(x, { "aria-hidden": !0 })
|
|
58
59
|
}), i.allowedActions.includes("cancel_self_onboarding") && a.push({
|
|
59
60
|
label: e("cancelSelfOnboardingCta"),
|
|
60
61
|
onClick: () => {
|
|
61
|
-
|
|
62
|
+
D(i.uuid);
|
|
62
63
|
},
|
|
63
|
-
icon: /* @__PURE__ */ t(
|
|
64
|
+
icon: /* @__PURE__ */ t(E, { "aria-hidden": !0 })
|
|
64
65
|
}), i.allowedActions.includes("delete") && a.push({
|
|
65
66
|
label: e("deleteCta"),
|
|
66
67
|
onClick: () => {
|
|
67
68
|
l(i.uuid);
|
|
68
69
|
},
|
|
69
|
-
icon: /* @__PURE__ */ t(
|
|
70
|
+
icon: /* @__PURE__ */ t(B, { "aria-hidden": !0 })
|
|
70
71
|
}), /* @__PURE__ */ t(
|
|
71
|
-
|
|
72
|
+
O,
|
|
72
73
|
{
|
|
73
|
-
triggerLabel: e("hamburgerTitle", { name:
|
|
74
|
+
triggerLabel: e("hamburgerTitle", { name: f(i) }),
|
|
74
75
|
items: a
|
|
75
76
|
}
|
|
76
77
|
);
|
|
77
78
|
},
|
|
78
|
-
isFetching:
|
|
79
|
-
pagination:
|
|
80
|
-
emptyState: () => /* @__PURE__ */ t(
|
|
79
|
+
isFetching: C,
|
|
80
|
+
pagination: g,
|
|
81
|
+
emptyState: () => /* @__PURE__ */ t(v, { title: e("emptyTableTitle"), description: e("emptyTableDescription"), children: /* @__PURE__ */ t(p, { justifyContent: "center", children: /* @__PURE__ */ t(o.Button, { onClick: c, children: e("addContractorCta") }) }) })
|
|
81
82
|
});
|
|
82
|
-
return /* @__PURE__ */ s(
|
|
83
|
-
/* @__PURE__ */ s(
|
|
84
|
-
|
|
85
|
-
/* @__PURE__ */ s(
|
|
83
|
+
return /* @__PURE__ */ s(L, { children: [
|
|
84
|
+
/* @__PURE__ */ s(u, { className: n, flexDirection: "column", children: [
|
|
85
|
+
m && /* @__PURE__ */ t(o.Alert, { label: m, status: "success" }),
|
|
86
|
+
/* @__PURE__ */ s(u, { alignItems: "center", justifyContent: "space-between", children: [
|
|
86
87
|
/* @__PURE__ */ t(o.Heading, { as: "h2", children: e("title") }),
|
|
87
|
-
|
|
88
|
+
d.length > 0 && /* @__PURE__ */ t(o.Button, { variant: "secondary", onClick: c, children: e("addAnotherCta") })
|
|
88
89
|
] }),
|
|
89
|
-
/* @__PURE__ */ t(
|
|
90
|
-
/* @__PURE__ */ t(
|
|
90
|
+
/* @__PURE__ */ t(j, { label: e("contractorListLabel"), ...w }),
|
|
91
|
+
/* @__PURE__ */ t(p, { children: /* @__PURE__ */ t(o.Button, { onClick: S, children: e("continueCta") }) })
|
|
91
92
|
] }),
|
|
92
93
|
/* @__PURE__ */ t(
|
|
93
94
|
o.Dialog,
|
|
@@ -99,11 +100,11 @@ function ee({
|
|
|
99
100
|
onPrimaryActionClick: async () => {
|
|
100
101
|
if (r)
|
|
101
102
|
try {
|
|
102
|
-
await
|
|
103
|
+
await y(r), l(null);
|
|
103
104
|
} catch {
|
|
104
105
|
}
|
|
105
106
|
},
|
|
106
|
-
isPrimaryActionLoading:
|
|
107
|
+
isPrimaryActionLoading: b.isPending,
|
|
107
108
|
isDestructive: !0,
|
|
108
109
|
title: e("deleteDialog.title"),
|
|
109
110
|
primaryActionLabel: e("deleteDialog.confirmCta"),
|
|
@@ -114,6 +115,6 @@ function ee({
|
|
|
114
115
|
] });
|
|
115
116
|
}
|
|
116
117
|
export {
|
|
117
|
-
|
|
118
|
+
te as ContractorListView
|
|
118
119
|
};
|
|
119
120
|
//# sourceMappingURL=ContractorListView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractorListView.js","sources":["../../../../../src/components/Contractor/ContractorList/onboarding/ContractorListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { UseContractorListResult, ContractorWithActions } from '../shared/useContractorList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport XCircleSvg from '@/assets/icons/x-circle.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { CONTRACTOR_TYPE, ContractorOnboardingStatus } from '@/shared/constants'\n\n/** @internal */\nexport interface ContractorListViewProps extends Pick<\n Extract<UseContractorListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n contractors: ContractorWithActions[]\n isFetching: boolean\n successMessage?: string\n onEdit: (contractorId: string) => void\n onDelete: (contractorId: string) => Promise<void>\n onCancelSelfOnboarding: (contractorId: string) => Promise<void>\n onAddContractor: () => void\n onContinue: () => void\n}\n\nfunction contractorDisplayName(contractor: ContractorWithActions) {\n return contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n}\n\n/** @internal */\nexport function ContractorListView({\n contractors,\n isFetching,\n pagination,\n status,\n successMessage,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onAddContractor,\n onContinue,\n}: ContractorListViewProps) {\n const { t } = useTranslation('Contractor.ContractorList')\n const Components = useComponentContext()\n const [contractorToDelete, setContractorToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: contractors,\n columns: [\n {\n title: t('listHeaders.name'),\n render: (contractor: ContractorWithActions) => contractorDisplayName(contractor),\n },\n {\n title: t('listHeaders.status'),\n render: (contractor: ContractorWithActions) => (\n <ContractorOnboardingStatusBadge\n onboarded={contractor.onboarded}\n onboardingStatus={contractor.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: contractor => {\n const menuItems = []\n const isReview =\n contractor.onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_REVIEW\n\n if (contractor.allowedActions.includes('edit')) {\n menuItems.push({\n label: isReview ? t('reviewCta') : t('editCta'),\n onClick: () => {\n onEdit(contractor.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(contractor.uuid)\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setContractorToDelete(contractor.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n triggerLabel={t('hamburgerTitle', { name: contractorDisplayName(contractor) })}\n items={menuItems}\n />\n )\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button onClick={onAddContractor}>{t('addContractorCta')}</Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <Flex flexDirection=\"column\">\n {successMessage && <Components.Alert label={successMessage} status=\"success\" />}\n\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {contractors.length > 0 && (\n <Components.Button variant=\"secondary\" onClick={onAddContractor}>\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n\n <ActionsLayout>\n <Components.Button onClick={onContinue}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n </Flex>\n\n <Components.Dialog\n isOpen={!!contractorToDelete}\n onClose={() => {\n setContractorToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (contractorToDelete) {\n try {\n await onDelete(contractorToDelete)\n setContractorToDelete(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":["contractorDisplayName","contractor","CONTRACTOR_TYPE","firstLastName","ContractorListView","contractors","isFetching","pagination","status","successMessage","onEdit","onDelete","onCancelSelfOnboarding","onAddContractor","onContinue","t","useTranslation","Components","useComponentContext","contractorToDelete","setContractorToDelete","useState","dataViewProps","useDataView","jsx","ContractorOnboardingStatusBadge","menuItems","isReview","ContractorOnboardingStatus","PencilSvg","XCircleSvg","TrashCanSvg","HamburgerMenu","EmptyData","ActionsLayout","jsxs","Fragment","Flex","DataView"],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ContractorListView.js","sources":["../../../../../src/components/Contractor/ContractorList/onboarding/ContractorListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { UseContractorListResult, ContractorWithActions } from '../shared/useContractorList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport XCircleSvg from '@/assets/icons/x-circle.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { CONTRACTOR_TYPE, ContractorOnboardingStatus } from '@/shared/constants'\n\n/** @internal */\nexport interface ContractorListViewProps extends Pick<\n Extract<UseContractorListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n /** CSS class name applied to the root element. */\n className?: string\n contractors: ContractorWithActions[]\n isFetching: boolean\n successMessage?: string\n onEdit: (contractorId: string) => void\n onDelete: (contractorId: string) => Promise<void>\n onCancelSelfOnboarding: (contractorId: string) => Promise<void>\n onAddContractor: () => void\n onContinue: () => void\n}\n\nfunction contractorDisplayName(contractor: ContractorWithActions) {\n return contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n}\n\n/** @internal */\nexport function ContractorListView({\n className,\n contractors,\n isFetching,\n pagination,\n status,\n successMessage,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onAddContractor,\n onContinue,\n}: ContractorListViewProps) {\n const { t } = useTranslation('Contractor.ContractorList')\n const Components = useComponentContext()\n const [contractorToDelete, setContractorToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: contractors,\n columns: [\n {\n title: t('listHeaders.name'),\n render: (contractor: ContractorWithActions) => contractorDisplayName(contractor),\n },\n {\n title: t('listHeaders.status'),\n render: (contractor: ContractorWithActions) => (\n <ContractorOnboardingStatusBadge\n onboarded={contractor.onboarded}\n onboardingStatus={contractor.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: contractor => {\n const menuItems = []\n const isReview =\n contractor.onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_REVIEW\n\n if (contractor.allowedActions.includes('edit')) {\n menuItems.push({\n label: isReview ? t('reviewCta') : t('editCta'),\n onClick: () => {\n onEdit(contractor.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(contractor.uuid)\n },\n icon: <XCircleSvg aria-hidden />,\n })\n }\n\n if (contractor.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setContractorToDelete(contractor.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return (\n <HamburgerMenu\n triggerLabel={t('hamburgerTitle', { name: contractorDisplayName(contractor) })}\n items={menuItems}\n />\n )\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button onClick={onAddContractor}>{t('addContractorCta')}</Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <Flex className={className} flexDirection=\"column\">\n {successMessage && <Components.Alert label={successMessage} status=\"success\" />}\n\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {contractors.length > 0 && (\n <Components.Button variant=\"secondary\" onClick={onAddContractor}>\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n\n <ActionsLayout>\n <Components.Button onClick={onContinue}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n </Flex>\n\n <Components.Dialog\n isOpen={!!contractorToDelete}\n onClose={() => {\n setContractorToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (contractorToDelete) {\n try {\n await onDelete(contractorToDelete)\n setContractorToDelete(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":["contractorDisplayName","contractor","CONTRACTOR_TYPE","firstLastName","ContractorListView","className","contractors","isFetching","pagination","status","successMessage","onEdit","onDelete","onCancelSelfOnboarding","onAddContractor","onContinue","t","useTranslation","Components","useComponentContext","contractorToDelete","setContractorToDelete","useState","dataViewProps","useDataView","jsx","ContractorOnboardingStatusBadge","menuItems","isReview","ContractorOnboardingStatus","PencilSvg","XCircleSvg","TrashCanSvg","HamburgerMenu","EmptyData","ActionsLayout","jsxs","Fragment","Flex","DataView"],"mappings":"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"}
|
|
@@ -1,49 +1,50 @@
|
|
|
1
1
|
import { jsx as t, jsxs as i } from "react/jsx-runtime";
|
|
2
|
-
import { useState as
|
|
3
|
-
import { useTranslation as
|
|
4
|
-
import { useContractorsGetSuspense as
|
|
5
|
-
import { DetailsView as
|
|
6
|
-
import { PayView as
|
|
2
|
+
import { useState as T, Suspense as x } from "react";
|
|
3
|
+
import { useTranslation as p } from "react-i18next";
|
|
4
|
+
import { useContractorsGetSuspense as N } from "@gusto/embedded-api/react-query/contractorsGet";
|
|
5
|
+
import { DetailsView as g } from "./DetailsView.js";
|
|
6
|
+
import { PayView as S } from "./PayView.js";
|
|
7
7
|
import { Flex as l } from "../../Common/Flex/Flex.js";
|
|
8
|
-
import { useComponentContext as
|
|
9
|
-
import { BaseBoundaries as
|
|
10
|
-
import { useI18n as
|
|
11
|
-
import { componentEvents as
|
|
12
|
-
import { firstLastName as
|
|
13
|
-
import { DocumentsCard as
|
|
14
|
-
function
|
|
8
|
+
import { useComponentContext as u } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
|
+
import { BaseBoundaries as R } from "../../Base/Base.js";
|
|
10
|
+
import { useI18n as _, useComponentDictionary as y } from "../../../i18n/I18n.js";
|
|
11
|
+
import { componentEvents as A, CONTRACTOR_TYPE as B } from "../../../shared/constants.js";
|
|
12
|
+
import { firstLastName as O } from "../../../helpers/formattedStrings.js";
|
|
13
|
+
import { DocumentsCard as H } from "../Documents/management/DocumentsCard/DocumentsCard.js";
|
|
14
|
+
function j({
|
|
15
15
|
contractorId: o,
|
|
16
16
|
dictionary: n,
|
|
17
17
|
onEvent: e,
|
|
18
18
|
selectedTab: a,
|
|
19
|
-
LoaderComponent: c
|
|
19
|
+
LoaderComponent: c,
|
|
20
|
+
className: m
|
|
20
21
|
}) {
|
|
21
|
-
|
|
22
|
-
const { t: r } =
|
|
22
|
+
_("Contractor.Dashboard"), y("Contractor.Dashboard", n);
|
|
23
|
+
const { t: r } = p("Contractor.Dashboard"), b = u(), [f, h] = T("details"), s = a ?? f, C = [
|
|
23
24
|
{ id: "details", label: r("tabs.details"), content: null },
|
|
24
25
|
{ id: "pay", label: r("tabs.pay"), content: null },
|
|
25
26
|
{ id: "documents", label: r("tabs.documents"), content: null }
|
|
26
27
|
];
|
|
27
|
-
return /* @__PURE__ */ i(l, { flexDirection: "column", gap: 32, children: [
|
|
28
|
-
/* @__PURE__ */ t(
|
|
28
|
+
return /* @__PURE__ */ i(l, { className: m, flexDirection: "column", gap: 32, children: [
|
|
29
|
+
/* @__PURE__ */ t(x, { fallback: null, children: /* @__PURE__ */ t(w, { contractorId: o }) }),
|
|
29
30
|
/* @__PURE__ */ i(l, { flexDirection: "column", gap: 8, children: [
|
|
30
31
|
/* @__PURE__ */ t(
|
|
31
|
-
|
|
32
|
+
b.Tabs,
|
|
32
33
|
{
|
|
33
|
-
tabs:
|
|
34
|
+
tabs: C,
|
|
34
35
|
selectedId: s,
|
|
35
|
-
onSelectionChange: (
|
|
36
|
-
const
|
|
37
|
-
|
|
36
|
+
onSelectionChange: (D) => {
|
|
37
|
+
const d = D;
|
|
38
|
+
h(d), e(A.CONTRACTOR_DASHBOARD_TAB_CHANGE, { tab: d });
|
|
38
39
|
},
|
|
39
40
|
"aria-label": r("tabsLabel")
|
|
40
41
|
}
|
|
41
42
|
),
|
|
42
43
|
/* @__PURE__ */ i(l, { flexDirection: "column", gap: 24, children: [
|
|
43
|
-
s === "details" && /* @__PURE__ */ t(
|
|
44
|
-
s === "pay" && /* @__PURE__ */ t(
|
|
44
|
+
s === "details" && /* @__PURE__ */ t(g, { contractorId: o, onEvent: e }),
|
|
45
|
+
s === "pay" && /* @__PURE__ */ t(S, { contractorId: o, onEvent: e }),
|
|
45
46
|
s === "documents" && /* @__PURE__ */ t(
|
|
46
|
-
|
|
47
|
+
H,
|
|
47
48
|
{
|
|
48
49
|
contractorId: o,
|
|
49
50
|
onEvent: e,
|
|
@@ -54,31 +55,31 @@ function H({
|
|
|
54
55
|
] })
|
|
55
56
|
] });
|
|
56
57
|
}
|
|
57
|
-
function
|
|
58
|
-
const { t: n } =
|
|
58
|
+
function w({ contractorId: o }) {
|
|
59
|
+
const { t: n } = p("Contractor.Dashboard"), e = u(), {
|
|
59
60
|
data: { contractor: a }
|
|
60
|
-
} =
|
|
61
|
+
} = N({ contractorUuid: o }), c = a?.type === B.BUSINESS, m = a ? c ? a.businessName : O({
|
|
61
62
|
first_name: a.firstName,
|
|
62
63
|
middle_initial: a.middleInitial,
|
|
63
64
|
last_name: a.lastName
|
|
64
65
|
}) : void 0;
|
|
65
66
|
return /* @__PURE__ */ i(l, { flexDirection: "column", gap: 4, children: [
|
|
66
|
-
/* @__PURE__ */ t(e.Heading, { as: "h2", children:
|
|
67
|
+
/* @__PURE__ */ t(e.Heading, { as: "h2", children: m }),
|
|
67
68
|
/* @__PURE__ */ t(e.Text, { variant: "supporting", children: n("contractorRoleLabel") })
|
|
68
69
|
] });
|
|
69
70
|
}
|
|
70
|
-
function
|
|
71
|
+
function J({ FallbackComponent: o, LoaderComponent: n, ...e }) {
|
|
71
72
|
return /* @__PURE__ */ t(
|
|
72
|
-
|
|
73
|
+
R,
|
|
73
74
|
{
|
|
74
75
|
componentName: "Contractor.Dashboard",
|
|
75
76
|
FallbackComponent: o,
|
|
76
77
|
LoaderComponent: n,
|
|
77
|
-
children: /* @__PURE__ */ t(
|
|
78
|
+
children: /* @__PURE__ */ t(j, { LoaderComponent: n, ...e })
|
|
78
79
|
}
|
|
79
80
|
);
|
|
80
81
|
}
|
|
81
82
|
export {
|
|
82
|
-
|
|
83
|
+
J as Dashboard
|
|
83
84
|
};
|
|
84
85
|
//# sourceMappingURL=Dashboard.js.map
|