@gusto/embedded-react-sdk 0.55.7 → 0.55.8
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 +23 -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/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- 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 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -4
- 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 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -4
- 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 -4
- 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 +89 -80
- 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 +25 -24
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.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 +80 -79
- 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 +34 -33
- 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 +22 -21
- 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 +120 -116
- 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 +29 -29
- 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 +37 -36
- 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 +27 -26
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +52 -51
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +34 -33
- 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 +112 -109
- 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/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 +101 -99
- 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/PayrollReceipts/PayrollReceipts.js +20 -14
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +39 -38
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- 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 +17 -17
- 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/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 +4 -3
- 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/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.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/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/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 +4 -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 +2 -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/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/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/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
- package/dist/src/i18n/types.d.ts +28 -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/package.json +16 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeListView.js","sources":["../../../../../src/components/Employee/EmployeeList/onboarding/EmployeeListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport type { UseEmployeeListResult, EmployeeWithActions } from '../shared/useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { EmployeeOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface EmployeeListViewProps extends Pick<\n Extract<UseEmployeeListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n employees: EmployeeWithActions[]\n isFetching: boolean\n onEdit: (employeeId: string, onboardingStatus?: OnboardingStatus) => void\n onDelete: (employeeId: string) => Promise<void>\n onCancelSelfOnboarding: (employeeId: string) => Promise<void>\n onReview: (employeeId: string) => Promise<void>\n onAddEmployee: () => void\n onSkip: () => void\n showContinueButton: boolean\n}\n\n/** @internal */\nexport function EmployeeListView({\n employees,\n isFetching,\n pagination,\n status,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onReview,\n onAddEmployee,\n onSkip,\n showContinueButton,\n}: EmployeeListViewProps) {\n const { t } = useTranslation('Employee.EmployeeList')\n const Components = useComponentContext()\n const [employeeToDelete, setEmployeeToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: (employee: EmployeeWithActions) => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: (employee: EmployeeWithActions) => (\n <EmployeeOnboardingStatusBadge\n onboarded={employee.onboarded}\n onboardingStatus={employee.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n if (employee.allowedActions.includes('edit')) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n onEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('review')) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void onReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setEmployeeToDelete(employee.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return <HamburgerMenu items={menuItems} triggerLabel={t('hamburgerTitle')} />\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n {showContinueButton && (\n <Components.Button variant=\"secondary\" onClick={onSkip}>\n {t('skipCta')}\n </Components.Button>\n )}\n <Components.Button variant=\"primary\" onClick={onAddEmployee} icon={<PlusCircleIcon />}>\n {t('addEmployeeCta')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {employees.length > 0 && (\n <Components.Button\n variant=\"secondary\"\n onClick={onAddEmployee}\n icon={<PlusCircleIcon />}\n >\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n\n {showContinueButton && employees.length > 0 && (\n <ActionsLayout>\n <Components.Button onClick={onSkip}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n\n <Components.Dialog\n isOpen={!!employeeToDelete}\n onClose={() => {\n setEmployeeToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (employeeToDelete) {\n try {\n await onDelete(employeeToDelete)\n setEmployeeToDelete(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('deleteDialog.title')}\n primaryActionLabel={t('deleteDialog.confirmCta')}\n closeActionLabel={t('deleteDialog.cancelCta')}\n >\n {t('deleteDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["EmployeeListView","employees","isFetching","pagination","status","onEdit","onDelete","onCancelSelfOnboarding","onReview","onAddEmployee","onSkip","showContinueButton","useTranslation","Components","useComponentContext","employeeToDelete","setEmployeeToDelete","useState","dataViewProps","useDataView","employee","firstLastName","jsx","EmployeeOnboardingStatusBadge","menuItems","PencilSvg","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","PlusCircleIcon","Fragment","Flex","DataView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmployeeListView.js","sources":["../../../../../src/components/Employee/EmployeeList/onboarding/EmployeeListView.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OnboardingStatus } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidonboardingstatus'\nimport type { UseEmployeeListResult, EmployeeWithActions } from '../shared/useEmployeeList'\nimport { DataView, EmptyData, ActionsLayout, useDataView, Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { EmployeeOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface EmployeeListViewProps extends Pick<\n Extract<UseEmployeeListResult, { isLoading: false }>,\n 'pagination' | 'status'\n> {\n employees: EmployeeWithActions[]\n isFetching: boolean\n onEdit: (employeeId: string, onboardingStatus?: OnboardingStatus) => void\n onDelete: (employeeId: string) => Promise<void>\n onCancelSelfOnboarding: (employeeId: string) => Promise<void>\n onReview: (employeeId: string) => Promise<void>\n onAddEmployee: () => void\n onSkip: () => void\n showContinueButton: boolean\n /** CSS class name applied to the root element. */\n className?: string\n}\n\n/** @internal */\nexport function EmployeeListView({\n employees,\n isFetching,\n pagination,\n status,\n onEdit,\n onDelete,\n onCancelSelfOnboarding,\n onReview,\n onAddEmployee,\n onSkip,\n showContinueButton,\n className,\n}: EmployeeListViewProps) {\n const { t } = useTranslation('Employee.EmployeeList')\n const Components = useComponentContext()\n const [employeeToDelete, setEmployeeToDelete] = useState<string | null>(null)\n\n const { ...dataViewProps } = useDataView({\n data: employees,\n columns: [\n {\n key: 'name',\n title: t('nameLabel'),\n render: (employee: EmployeeWithActions) => {\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n })\n },\n },\n {\n key: 'status',\n title: t('statusLabel'),\n render: (employee: EmployeeWithActions) => (\n <EmployeeOnboardingStatusBadge\n onboarded={employee.onboarded}\n onboardingStatus={employee.onboardingStatus}\n />\n ),\n },\n ],\n itemMenu: employee => {\n const menuItems = []\n\n if (employee.allowedActions.includes('edit')) {\n menuItems.push({\n label: t('editCta'),\n onClick: () => {\n onEdit(employee.uuid, employee.onboardingStatus ?? undefined)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('cancel_self_onboarding')) {\n menuItems.push({\n label: t('cancelSelfOnboardingCta'),\n onClick: () => {\n void onCancelSelfOnboarding(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('review')) {\n menuItems.push({\n label: t('reviewCta'),\n onClick: () => {\n void onReview(employee.uuid)\n },\n icon: <PencilSvg aria-hidden />,\n })\n }\n\n if (employee.allowedActions.includes('delete')) {\n menuItems.push({\n label: t('deleteCta'),\n onClick: () => {\n setEmployeeToDelete(employee.uuid)\n },\n icon: <TrashCanSvg aria-hidden />,\n })\n }\n\n return <HamburgerMenu items={menuItems} triggerLabel={t('hamburgerTitle')} />\n },\n isFetching,\n pagination,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n {showContinueButton && (\n <Components.Button variant=\"secondary\" onClick={onSkip}>\n {t('skipCta')}\n </Components.Button>\n )}\n <Components.Button variant=\"primary\" onClick={onAddEmployee} icon={<PlusCircleIcon />}>\n {t('addEmployeeCta')}\n </Components.Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <>\n <section className={className}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n\n {employees.length > 0 && (\n <Components.Button\n variant=\"secondary\"\n onClick={onAddEmployee}\n icon={<PlusCircleIcon />}\n >\n {t('addAnotherCta')}\n </Components.Button>\n )}\n </Flex>\n\n <DataView label={t('employeeListLabel')} {...dataViewProps} />\n\n {showContinueButton && employees.length > 0 && (\n <ActionsLayout>\n <Components.Button onClick={onSkip}>{t('continueCta')}</Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n\n <Components.Dialog\n isOpen={!!employeeToDelete}\n onClose={() => {\n setEmployeeToDelete(null)\n }}\n onPrimaryActionClick={async () => {\n if (employeeToDelete) {\n try {\n await onDelete(employeeToDelete)\n setEmployeeToDelete(null)\n } catch {\n // Keep dialog open on error\n }\n }\n }}\n isPrimaryActionLoading={status.isPending}\n isDestructive\n title={t('deleteDialog.title')}\n primaryActionLabel={t('deleteDialog.confirmCta')}\n closeActionLabel={t('deleteDialog.cancelCta')}\n >\n {t('deleteDialog.description')}\n </Components.Dialog>\n </>\n )\n}\n"],"names":["EmployeeListView","employees","isFetching","pagination","status","onEdit","onDelete","onCancelSelfOnboarding","onReview","onAddEmployee","onSkip","showContinueButton","className","useTranslation","Components","useComponentContext","employeeToDelete","setEmployeeToDelete","useState","dataViewProps","useDataView","employee","firstLastName","jsx","EmployeeOnboardingStatusBadge","menuItems","PencilSvg","TrashCanSvg","HamburgerMenu","EmptyData","jsxs","ActionsLayout","PlusCircleIcon","Fragment","Flex","DataView"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEmployeeList.js","sources":["../../../../../src/components/Employee/EmployeeList/shared/useEmployeeList.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useEmployeesList } from '@gusto/embedded-api/react-query/employeesList'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport type { EmployeeOnboardingStatus as EmployeeOnboardingStatusEntity } from '@gusto/embedded-api/models/components/employeeonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport type { HookLoadingResult, BaseHookReady } from '@/partner-hook-utils/types'\n\n/**\n * Action that may be performed on an employee row, determined by the employee's onboarding state\n * and the `employeeType` filter passed to {@link useEmployeeList}.\n *\n * @public\n */\nexport type EmployeeAction =\n 'edit' | 'delete' | 'cancel_self_onboarding' | 'review' | 'dismiss' | 'rehire'\n\n/**\n * An employee entity extended with the actions permitted on it and a reference to its primary job.\n *\n * @public\n */\nexport interface EmployeeWithActions extends Employee {\n /** Actions permitted for this employee given its onboarding status and the active filter. */\n allowedActions: EmployeeAction[]\n /** The employee's primary job, if one is marked primary. */\n primaryJob?: Job\n}\n\n/**\n * Filter applied to {@link useEmployeeList} that scopes the result set and tailors the per-row action list.\n *\n * @public\n */\nexport type EmployeeType = 'active' | 'onboarding' | 'terminated'\n\n/**\n * Props for {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListProps {\n /** The associated company identifier. */\n companyId: string\n /** Filters the list and tailors the allowed actions. Omit to list all employees. */\n employeeType?: EmployeeType\n}\n\n/**\n * Ready state of {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListReady extends BaseHookReady<\n { employees: EmployeeWithActions[] },\n { isFetching: boolean; isPending: boolean }\n> {\n /** Pagination controls for the current employee list page. */\n pagination: PaginationControlProps\n /** Actions that mutate an employee's state, gated by the entry's `allowedActions`. */\n actions: {\n /** Deletes the employee. */\n onDelete: (employeeId: string) => Promise<void>\n /** Moves the employee into the admin-review onboarding status. Resolves to the updated record, or `undefined` if the call failed. */\n onReview: (employeeId: string) => Promise<EmployeeOnboardingStatusEntity | undefined>\n /** Reverts a self-onboarding employee to admin-driven onboarding. Resolves to the updated record, or `undefined` if the call failed. */\n onCancelSelfOnboarding: (\n employeeId: string,\n ) => Promise<EmployeeOnboardingStatusEntity | undefined>\n }\n}\n\n/**\n * Return type of {@link useEmployeeList}.\n *\n * @public\n */\nexport type UseEmployeeListResult = HookLoadingResult | UseEmployeeListReady\n\nfunction deriveAllowedActions(employee: Employee, employeeType?: EmployeeType): EmployeeAction[] {\n const actions: EmployeeAction[] = []\n\n // Edit action - available for certain onboarding statuses, but not for terminated employees\n if (\n employeeType !== 'terminated' &&\n (employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED)\n ) {\n actions.push('edit')\n }\n\n // Cancel self onboarding - available for employees in self-onboarding flow\n if (employee.onboardingStatus && EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus)) {\n actions.push('cancel_self_onboarding')\n }\n\n // Review action - available when employee completed self-onboarding\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n actions.push('review')\n }\n\n // Delete action - available for non-onboarded employees\n if (!employee.onboarded) {\n actions.push('delete')\n }\n\n // Tab-specific actions for ManagementEmployeeList\n if (employeeType === 'active') {\n actions.push('dismiss')\n }\n\n if (employeeType === 'terminated') {\n actions.push('rehire')\n }\n\n return actions\n}\n\n/**\n * Fetches a paginated list of a company's employees and decorates each entry with the actions\n * allowed for its current onboarding state.\n *\n * @remarks\n * `employeeType` maps to a server-side filter and changes which actions appear on each row:\n * `'active'` adds `dismiss`, `'terminated'` adds `rehire`, `'onboarding'` adds none. Omit it\n * to list every employee.\n *\n * Page changes use placeholder data: the previous page stays rendered while the next one loads,\n * and `status.isFetching` flips to `true` during the request.\n *\n * @param input - Company and optional filter for the list.\n * @returns A {@link HookLoadingResult} while the first page is in flight, or a {@link UseEmployeeListReady} once data has arrived.\n * @public\n *\n * @example\n * ```tsx\n * import { useEmployeeList } from '@gusto/embedded-react-sdk'\n *\n * function EmployeeListPage({ companyId }: { companyId: string }) {\n * const employeeList = useEmployeeList({ companyId, employeeType: 'onboarding' })\n *\n * if (employeeList.isLoading) return <div>Loading...</div>\n *\n * return (\n * <ul>\n * {employeeList.data.employees.map(employee => (\n * <li key={employee.uuid}>\n * {employee.firstName} {employee.lastName}\n * {employee.allowedActions.includes('delete') && (\n * <button onClick={() => employeeList.actions.onDelete(employee.uuid)}>Delete</button>\n * )}\n * </li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n */\nexport function useEmployeeList({\n companyId,\n employeeType,\n}: UseEmployeeListProps): UseEmployeeListResult {\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const queryParams = useMemo(() => {\n const baseParams = {\n companyId,\n page: currentPage,\n per: itemsPerPage,\n }\n\n switch (employeeType) {\n case 'active':\n return { ...baseParams, onboardedActive: true }\n case 'onboarding':\n return { ...baseParams, onboarded: false }\n case 'terminated':\n return { ...baseParams, terminated: true }\n default:\n return baseParams\n }\n }, [companyId, currentPage, itemsPerPage, employeeType])\n\n const employeesQuery = useEmployeesList(queryParams, { placeholderData: keepPreviousData })\n\n const deleteEmployeeMutation = useEmployeesDeleteMutation()\n const updateOnboardingStatusMutation = useEmployeesUpdateOnboardingStatusMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('EmployeeList')\n\n const errorHandling = composeErrorHandler([employeesQuery], { submitError, setSubmitError })\n\n const isPending = deleteEmployeeMutation.isPending || updateOnboardingStatusMutation.isPending\n\n const { data, isFetching } = employeesQuery\n\n const employees = useMemo<EmployeeWithActions[]>(() => {\n return (data?.showEmployees ?? []).map(employee => {\n const primaryJob = employee.jobs?.find(job => job.primary === true)\n\n return {\n ...employee,\n allowedActions: deriveAllowedActions(employee, employeeType),\n primaryJob,\n }\n })\n }, [data?.showEmployees, employeeType])\n\n const paginationProps = data?.httpMeta.response.headers\n ? getPaginationProps(data.httpMeta.response.headers, isFetching)\n : {\n handleNextPage: () => {},\n handleFirstPage: () => {},\n handleLastPage: () => {},\n handlePreviousPage: () => {},\n handleItemsPerPageChange: () => {},\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n itemsPerPage: 5 as const,\n }\n\n const onDelete = async (employeeId: string): Promise<void> => {\n await baseSubmitHandler(employeeId, async id => {\n await deleteEmployeeMutation.mutateAsync({\n request: { employeeId: id },\n })\n })\n }\n\n const onReview = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const onCancelSelfOnboarding = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const isLoading = !data && isFetching\n\n if (isLoading) {\n return {\n isLoading: true,\n errorHandling,\n }\n }\n\n return {\n isLoading: false,\n data: {\n employees,\n },\n pagination: paginationProps,\n status: { isFetching, isPending },\n actions: { onDelete, onReview, onCancelSelfOnboarding },\n errorHandling,\n }\n}\n"],"names":["deriveAllowedActions","employee","employeeType","actions","EmployeeOnboardingStatus","EmployeeSelfOnboardingStatuses","useEmployeeList","companyId","currentPage","itemsPerPage","getPaginationProps","usePagination","queryParams","useMemo","baseParams","employeesQuery","useEmployeesList","keepPreviousData","deleteEmployeeMutation","useEmployeesDeleteMutation","updateOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","isPending","data","isFetching","employees","primaryJob","job","paginationProps","onDelete","employeeId","id","onReview","onboardingStatus","onCancelSelfOnboarding"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useEmployeeList.js","sources":["../../../../../src/components/Employee/EmployeeList/shared/useEmployeeList.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useEmployeesList } from '@gusto/embedded-api/react-query/employeesList'\nimport type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { Job } from '@gusto/embedded-api/models/components/job'\nimport type { EmployeeOnboardingStatus as EmployeeOnboardingStatusEntity } from '@gusto/embedded-api/models/components/employeeonboardingstatus'\nimport { useEmployeesDeleteMutation } from '@gusto/embedded-api/react-query/employeesDelete'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { EmployeeOnboardingStatus, EmployeeSelfOnboardingStatuses } from '@/shared/constants'\nimport type { HookLoadingResult, BaseHookReady } from '@/partner-hook-utils/types'\n\n/**\n * Action that may be performed on an employee row, determined by the employee's onboarding state\n * and the `employeeType` filter passed to {@link useEmployeeList}.\n *\n * @public\n */\nexport type EmployeeAction =\n 'edit' | 'delete' | 'cancel_self_onboarding' | 'review' | 'dismiss' | 'rehire'\n\n/**\n * An employee entity extended with the actions permitted on it and a reference to its primary job.\n *\n * @public\n */\nexport interface EmployeeWithActions extends Employee {\n /** Actions permitted for this employee given its onboarding status and the active filter. */\n allowedActions: EmployeeAction[]\n /** The employee's primary job, if one is marked primary. */\n primaryJob?: Job\n}\n\n/**\n * Filter applied to {@link useEmployeeList} that scopes the result set and tailors the per-row action list.\n *\n * @public\n */\nexport type EmployeeType = 'active' | 'onboarding' | 'terminated'\n\n/**\n * Props for {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListProps {\n /** The associated company identifier. */\n companyId: string\n /** Filters the list and tailors the allowed actions. Omit to list all employees. */\n employeeType?: EmployeeType\n}\n\n/**\n * Ready state of {@link useEmployeeList}.\n *\n * @public\n */\nexport interface UseEmployeeListReady extends BaseHookReady<\n { employees: EmployeeWithActions[] },\n { isFetching: boolean; isPending: boolean }\n> {\n /** Pagination controls for the current employee list page. */\n pagination: PaginationControlProps\n /** Actions that mutate an employee's state, gated by the entry's `allowedActions`. */\n actions: {\n /** Deletes the employee. */\n onDelete: (employeeId: string) => Promise<void>\n /** Moves the employee into the admin-review onboarding status. Resolves to the updated record, or `undefined` if the call failed. */\n onReview: (employeeId: string) => Promise<EmployeeOnboardingStatusEntity | undefined>\n /** Reverts a self-onboarding employee to admin-driven onboarding. Resolves to the updated record, or `undefined` if the call failed. */\n onCancelSelfOnboarding: (\n employeeId: string,\n ) => Promise<EmployeeOnboardingStatusEntity | undefined>\n }\n}\n\n/**\n * Return type of {@link useEmployeeList}.\n *\n * @public\n */\nexport type UseEmployeeListResult = HookLoadingResult | UseEmployeeListReady\n\nfunction deriveAllowedActions(employee: Employee, employeeType?: EmployeeType): EmployeeAction[] {\n const actions: EmployeeAction[] = []\n\n // Edit action - available for certain onboarding statuses, but not for terminated employees\n if (\n employeeType !== 'terminated' &&\n (employee.onboardingStatus === EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED)\n ) {\n actions.push('edit')\n }\n\n // Cancel self onboarding - available for employees in self-onboarding flow\n if (employee.onboardingStatus && EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus)) {\n actions.push('cancel_self_onboarding')\n }\n\n // Review action - available when employee completed self-onboarding\n if (\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n ) {\n actions.push('review')\n }\n\n // Delete action - available for non-onboarded employees\n if (!employee.onboarded) {\n actions.push('delete')\n }\n\n // Tab-specific actions for ManagementEmployeeList\n if (employeeType === 'active') {\n actions.push('dismiss')\n }\n\n if (employeeType === 'terminated') {\n actions.push('rehire')\n }\n\n return actions\n}\n\n/**\n * Fetches a paginated list of a company's employees and decorates each entry with the actions\n * allowed for its current onboarding state.\n *\n * @remarks\n * `employeeType` maps to a server-side filter and changes which actions appear on each row:\n * `'active'` adds `dismiss`, `'terminated'` adds `rehire`, `'onboarding'` adds none. Omit it\n * to list every employee.\n *\n * `'onboarding'` includes employees who haven't completed onboarding as well as employees who\n * have completed onboarding but whose primary job's hire date hasn't arrived yet, so `onboarded`\n * may be `true` for rows in this filter.\n *\n * Page changes use placeholder data: the previous page stays rendered while the next one loads,\n * and `status.isFetching` flips to `true` during the request.\n *\n * @param input - Company and optional filter for the list.\n * @returns A {@link HookLoadingResult} while the first page is in flight, or a {@link UseEmployeeListReady} once data has arrived.\n * @public\n *\n * @example\n * ```tsx\n * import { useEmployeeList } from '@gusto/embedded-react-sdk'\n *\n * function EmployeeListPage({ companyId }: { companyId: string }) {\n * const employeeList = useEmployeeList({ companyId, employeeType: 'onboarding' })\n *\n * if (employeeList.isLoading) return <div>Loading...</div>\n *\n * return (\n * <ul>\n * {employeeList.data.employees.map(employee => (\n * <li key={employee.uuid}>\n * {employee.firstName} {employee.lastName}\n * {employee.allowedActions.includes('delete') && (\n * <button onClick={() => employeeList.actions.onDelete(employee.uuid)}>Delete</button>\n * )}\n * </li>\n * ))}\n * </ul>\n * )\n * }\n * ```\n */\nexport function useEmployeeList({\n companyId,\n employeeType,\n}: UseEmployeeListProps): UseEmployeeListResult {\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const queryParams = useMemo(() => {\n const baseParams = {\n companyId,\n page: currentPage,\n per: itemsPerPage,\n }\n\n switch (employeeType) {\n case 'active':\n return { ...baseParams, onboardedActive: true }\n case 'onboarding':\n return { ...baseParams, onboardedActive: false }\n case 'terminated':\n return { ...baseParams, terminated: true }\n default:\n return baseParams\n }\n }, [companyId, currentPage, itemsPerPage, employeeType])\n\n const employeesQuery = useEmployeesList(queryParams, { placeholderData: keepPreviousData })\n\n const deleteEmployeeMutation = useEmployeesDeleteMutation()\n const updateOnboardingStatusMutation = useEmployeesUpdateOnboardingStatusMutation()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('EmployeeList')\n\n const errorHandling = composeErrorHandler([employeesQuery], { submitError, setSubmitError })\n\n const isPending = deleteEmployeeMutation.isPending || updateOnboardingStatusMutation.isPending\n\n const { data, isFetching } = employeesQuery\n\n const employees = useMemo<EmployeeWithActions[]>(() => {\n return (data?.showEmployees ?? []).map(employee => {\n const primaryJob = employee.jobs?.find(job => job.primary === true)\n\n return {\n ...employee,\n allowedActions: deriveAllowedActions(employee, employeeType),\n primaryJob,\n }\n })\n }, [data?.showEmployees, employeeType])\n\n const paginationProps = data?.httpMeta.response.headers\n ? getPaginationProps(data.httpMeta.response.headers, isFetching)\n : {\n handleNextPage: () => {},\n handleFirstPage: () => {},\n handleLastPage: () => {},\n handlePreviousPage: () => {},\n handleItemsPerPageChange: () => {},\n currentPage: 1,\n totalPages: 1,\n totalCount: 0,\n itemsPerPage: 5 as const,\n }\n\n const onDelete = async (employeeId: string): Promise<void> => {\n await baseSubmitHandler(employeeId, async id => {\n await deleteEmployeeMutation.mutateAsync({\n request: { employeeId: id },\n })\n })\n }\n\n const onReview = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const onCancelSelfOnboarding = async (\n employeeId: string,\n ): Promise<EmployeeOnboardingStatusEntity | undefined> => {\n let onboardingStatus: EmployeeOnboardingStatusEntity | undefined\n\n await baseSubmitHandler(employeeId, async id => {\n const result = await updateOnboardingStatusMutation.mutateAsync({\n request: {\n employeeId: id,\n requestBody: {\n onboardingStatus: EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n\n onboardingStatus = result.employeeOnboardingStatus\n })\n\n return onboardingStatus\n }\n\n const isLoading = !data && isFetching\n\n if (isLoading) {\n return {\n isLoading: true,\n errorHandling,\n }\n }\n\n return {\n isLoading: false,\n data: {\n employees,\n },\n pagination: paginationProps,\n status: { isFetching, isPending },\n actions: { onDelete, onReview, onCancelSelfOnboarding },\n errorHandling,\n }\n}\n"],"names":["deriveAllowedActions","employee","employeeType","actions","EmployeeOnboardingStatus","EmployeeSelfOnboardingStatuses","useEmployeeList","companyId","currentPage","itemsPerPage","getPaginationProps","usePagination","queryParams","useMemo","baseParams","employeesQuery","useEmployeesList","keepPreviousData","deleteEmployeeMutation","useEmployeesDeleteMutation","updateOnboardingStatusMutation","useEmployeesUpdateOnboardingStatusMutation","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","isPending","data","isFetching","employees","primaryJob","job","paginationProps","onDelete","employeeId","id","onReview","onboardingStatus","onCancelSelfOnboarding"],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ import { useTranslation as x, Trans as s } from "react-i18next";
|
|
|
3
3
|
import { BaseLayout as b } from "../../../Base/Base.js";
|
|
4
4
|
import "../../../Base/useBase.js";
|
|
5
5
|
import { Form as I } from "../../../Common/Form/Form.js";
|
|
6
|
-
import { Flex as l } from "../../../Common/Flex/Flex.js";
|
|
7
6
|
import { SDKFormProvider as R } from "../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
8
7
|
import { useComponentContext as D } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
8
|
import { useI18n as F, useComponentDictionary as S } from "../../../../i18n/I18n.js";
|
|
9
|
+
import { Flex as l } from "../../../Common/Flex/Flex.js";
|
|
10
10
|
function Q({
|
|
11
11
|
federalTaxes: r,
|
|
12
12
|
onSubmit: d,
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { HomeAddressView as
|
|
3
|
-
import { useHomeAddressManagement as
|
|
4
|
-
import { BaseBoundaries as
|
|
5
|
-
import { useI18n as
|
|
2
|
+
import { HomeAddressView as A } from "./HomeAddressView.js";
|
|
3
|
+
import { useHomeAddressManagement as H, isUseHomeAddressManagementSuccess as c } from "./useHomeAddressManagement.js";
|
|
4
|
+
import { BaseBoundaries as g, BaseLayout as t } from "../../../Base/Base.js";
|
|
5
|
+
import { useI18n as l, useComponentDictionary as D } from "../../../../i18n/I18n.js";
|
|
6
6
|
import { componentEvents as i } from "../../../../shared/constants.js";
|
|
7
|
-
function
|
|
7
|
+
function M({
|
|
8
8
|
employeeId: d,
|
|
9
9
|
onEvent: r,
|
|
10
10
|
dictionary: o,
|
|
11
|
-
LoaderComponent: m
|
|
11
|
+
LoaderComponent: m,
|
|
12
|
+
className: n
|
|
12
13
|
}) {
|
|
13
|
-
|
|
14
|
-
const e =
|
|
14
|
+
l("Employee.Management.HomeAddress"), D("Employee.Management.HomeAddress", o);
|
|
15
|
+
const e = H({ employeeId: d, onEvent: r });
|
|
15
16
|
if (e.isLoading)
|
|
16
17
|
return /* @__PURE__ */ s(
|
|
17
18
|
t,
|
|
@@ -21,13 +22,13 @@ function D({
|
|
|
21
22
|
LoaderComponent: m
|
|
22
23
|
}
|
|
23
24
|
);
|
|
24
|
-
if (!
|
|
25
|
+
if (!c(e))
|
|
25
26
|
return /* @__PURE__ */ s(t, { error: e.errorHandling.errors, LoaderComponent: m });
|
|
26
|
-
const
|
|
27
|
+
const E = (a) => {
|
|
27
28
|
a.mode === "create" ? r(i.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_CREATED, a.data) : r(i.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_UPDATED, a.data);
|
|
28
29
|
};
|
|
29
30
|
return /* @__PURE__ */ s(t, { error: e.errorHandling.errors, LoaderComponent: m, children: /* @__PURE__ */ s(
|
|
30
|
-
|
|
31
|
+
A,
|
|
31
32
|
{
|
|
32
33
|
editHomeAddressForm: e.data.editHomeAddressForm,
|
|
33
34
|
createHomeAddressForm: e.data.createHomeAddressForm,
|
|
@@ -35,31 +36,32 @@ function D({
|
|
|
35
36
|
employeeDisplayName: e.data.employeeDisplayName,
|
|
36
37
|
editingHomeAddressUuid: e.data.editingHomeAddressUuid,
|
|
37
38
|
onEditAddressTargetChange: e.actions.setEditAddressTarget,
|
|
38
|
-
onSaved:
|
|
39
|
+
onSaved: E,
|
|
39
40
|
onConfirmDelete: e.actions.confirmDeleteHomeAddress,
|
|
40
41
|
onBack: () => {
|
|
41
42
|
r(i.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_EDIT_CANCELLED);
|
|
42
43
|
},
|
|
43
|
-
isDeletePending: e.status.isDeletePending
|
|
44
|
+
isDeletePending: e.status.isDeletePending,
|
|
45
|
+
className: n
|
|
44
46
|
}
|
|
45
47
|
) });
|
|
46
48
|
}
|
|
47
|
-
function
|
|
49
|
+
function S({
|
|
48
50
|
FallbackComponent: d,
|
|
49
51
|
LoaderComponent: r,
|
|
50
52
|
...o
|
|
51
53
|
}) {
|
|
52
54
|
return /* @__PURE__ */ s(
|
|
53
|
-
|
|
55
|
+
g,
|
|
54
56
|
{
|
|
55
57
|
componentName: "Employee.Management.HomeAddress",
|
|
56
58
|
FallbackComponent: d,
|
|
57
59
|
LoaderComponent: r,
|
|
58
|
-
children: /* @__PURE__ */ s(
|
|
60
|
+
children: /* @__PURE__ */ s(M, { LoaderComponent: r, ...o })
|
|
59
61
|
}
|
|
60
62
|
);
|
|
61
63
|
}
|
|
62
64
|
export {
|
|
63
|
-
|
|
65
|
+
S as HomeAddressEditForm
|
|
64
66
|
};
|
|
65
67
|
//# sourceMappingURL=HomeAddressEditForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomeAddressEditForm.js","sources":["../../../../../src/components/Employee/HomeAddress/management/HomeAddressEditForm.tsx"],"sourcesContent":["import type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { HomeAddressView } from './HomeAddressView'\nimport {\n isUseHomeAddressManagementSuccess,\n useHomeAddressManagement,\n} from './useHomeAddressManagement'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link HomeAddressEditForm}.\n *\n * @public\n */\nexport interface HomeAddressEditFormProps extends BaseComponentInterface<'Employee.Management.HomeAddress'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\nfunction HomeAddressEditFormRoot({\n employeeId,\n onEvent,\n dictionary,\n LoaderComponent,\n}: HomeAddressEditFormProps) {\n useI18n('Employee.Management.HomeAddress')\n useComponentDictionary('Employee.Management.HomeAddress', dictionary)\n\n const management = useHomeAddressManagement({ employeeId, onEvent })\n\n if (management.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={management.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n if (!isUseHomeAddressManagementSuccess(management)) {\n return <BaseLayout error={management.errorHandling.errors} LoaderComponent={LoaderComponent} />\n }\n\n const handleSaved = (result: HookSubmitResult<EmployeeAddress>) => {\n if (result.mode === 'create') {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_CREATED, result.data)\n } else {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_UPDATED, result.data)\n }\n }\n\n return (\n <BaseLayout error={management.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <HomeAddressView\n editHomeAddressForm={management.data.editHomeAddressForm}\n createHomeAddressForm={management.data.createHomeAddressForm}\n employeeHomeAddresses={management.data.employeeHomeAddresses}\n employeeDisplayName={management.data.employeeDisplayName}\n editingHomeAddressUuid={management.data.editingHomeAddressUuid}\n onEditAddressTargetChange={management.actions.setEditAddressTarget}\n onSaved={handleSaved}\n onConfirmDelete={management.actions.confirmDeleteHomeAddress}\n onBack={() => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_EDIT_CANCELLED)\n }}\n isDeletePending={management.status.isDeletePending}\n />\n </BaseLayout>\n )\n}\n\n/**\n * Standalone employee home address edit form for creating, updating, and deleting addresses.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/homeAddress/created` | A new home address was created | {@link APIModels.EmployeeAddress} |\n * | `employee/management/homeAddress/updated` | An existing home address was updated | {@link APIModels.EmployeeAddress} |\n * | `employee/management/homeAddress/deleted` | A home address was deleted | {@link APIModels.EmployeeAddress} |\n * | `employee/management/homeAddress/editCancelled` | User backed out of the edit form | — |\n *\n * @public\n */\nexport function HomeAddressEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: HomeAddressEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.HomeAddress\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <HomeAddressEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["HomeAddressEditFormRoot","employeeId","onEvent","dictionary","LoaderComponent","useI18n","useComponentDictionary","management","useHomeAddressManagement","jsx","BaseLayout","isUseHomeAddressManagementSuccess","handleSaved","result","componentEvents","HomeAddressView","HomeAddressEditForm","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAqBA,SAASA,EAAwB;AAAA,EAC/B,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AACF,GAA6B;AAC3B,EAAAC,EAAQ,iCAAiC,GACzCC,EAAuB,
|
|
1
|
+
{"version":3,"file":"HomeAddressEditForm.js","sources":["../../../../../src/components/Employee/HomeAddress/management/HomeAddressEditForm.tsx"],"sourcesContent":["import type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { HomeAddressView } from './HomeAddressView'\nimport {\n isUseHomeAddressManagementSuccess,\n useHomeAddressManagement,\n} from './useHomeAddressManagement'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport type { HookSubmitResult } from '@/partner-hook-utils/types'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Props for {@link HomeAddressEditForm}.\n *\n * @public\n */\nexport interface HomeAddressEditFormProps extends BaseComponentInterface<'Employee.Management.HomeAddress'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\nfunction HomeAddressEditFormRoot({\n employeeId,\n onEvent,\n dictionary,\n LoaderComponent,\n className,\n}: HomeAddressEditFormProps) {\n useI18n('Employee.Management.HomeAddress')\n useComponentDictionary('Employee.Management.HomeAddress', dictionary)\n\n const management = useHomeAddressManagement({ employeeId, onEvent })\n\n if (management.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={management.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n if (!isUseHomeAddressManagementSuccess(management)) {\n return <BaseLayout error={management.errorHandling.errors} LoaderComponent={LoaderComponent} />\n }\n\n const handleSaved = (result: HookSubmitResult<EmployeeAddress>) => {\n if (result.mode === 'create') {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_CREATED, result.data)\n } else {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_UPDATED, result.data)\n }\n }\n\n return (\n <BaseLayout error={management.errorHandling.errors} LoaderComponent={LoaderComponent}>\n <HomeAddressView\n editHomeAddressForm={management.data.editHomeAddressForm}\n createHomeAddressForm={management.data.createHomeAddressForm}\n employeeHomeAddresses={management.data.employeeHomeAddresses}\n employeeDisplayName={management.data.employeeDisplayName}\n editingHomeAddressUuid={management.data.editingHomeAddressUuid}\n onEditAddressTargetChange={management.actions.setEditAddressTarget}\n onSaved={handleSaved}\n onConfirmDelete={management.actions.confirmDeleteHomeAddress}\n onBack={() => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_EDIT_CANCELLED)\n }}\n isDeletePending={management.status.isDeletePending}\n className={className}\n />\n </BaseLayout>\n )\n}\n\n/**\n * Standalone employee home address edit form for creating, updating, and deleting addresses.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/homeAddress/created` | A new home address was created | {@link APIModels.EmployeeAddress} |\n * | `employee/management/homeAddress/updated` | An existing home address was updated | {@link APIModels.EmployeeAddress} |\n * | `employee/management/homeAddress/deleted` | A home address was deleted | {@link APIModels.EmployeeAddress} |\n * | `employee/management/homeAddress/editCancelled` | User backed out of the edit form | — |\n *\n * @public\n */\nexport function HomeAddressEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: HomeAddressEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.HomeAddress\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <HomeAddressEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n"],"names":["HomeAddressEditFormRoot","employeeId","onEvent","dictionary","LoaderComponent","className","useI18n","useComponentDictionary","management","useHomeAddressManagement","jsx","BaseLayout","isUseHomeAddressManagementSuccess","handleSaved","result","componentEvents","HomeAddressView","HomeAddressEditForm","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;AAqBA,SAASA,EAAwB;AAAA,EAC/B,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AACF,GAA6B;AAC3B,EAAAC,EAAQ,iCAAiC,GACzCC,EAAuB,mCAAmCJ,CAAU;AAEpE,QAAMK,IAAaC,EAAyB,EAAE,YAAAR,GAAY,SAAAC,GAAS;AAEnE,MAAIM,EAAW;AACb,WACE,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOH,EAAW,cAAc;AAAA,QAChC,iBAAAJ;AAAA,MAAA;AAAA,IAAA;AAKN,MAAI,CAACQ,EAAkCJ,CAAU;AAC/C,6BAAQG,GAAA,EAAW,OAAOH,EAAW,cAAc,QAAQ,iBAAAJ,GAAkC;AAG/F,QAAMS,IAAc,CAACC,MAA8C;AACjE,IAAIA,EAAO,SAAS,WAClBZ,EAAQa,EAAgB,0CAA0CD,EAAO,IAAI,IAE7EZ,EAAQa,EAAgB,0CAA0CD,EAAO,IAAI;AAAA,EAEjF;AAEA,2BACGH,GAAA,EAAW,OAAOH,EAAW,cAAc,QAAQ,iBAAAJ,GAClD,UAAA,gBAAAM;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,qBAAqBR,EAAW,KAAK;AAAA,MACrC,uBAAuBA,EAAW,KAAK;AAAA,MACvC,uBAAuBA,EAAW,KAAK;AAAA,MACvC,qBAAqBA,EAAW,KAAK;AAAA,MACrC,wBAAwBA,EAAW,KAAK;AAAA,MACxC,2BAA2BA,EAAW,QAAQ;AAAA,MAC9C,SAASK;AAAA,MACT,iBAAiBL,EAAW,QAAQ;AAAA,MACpC,QAAQ,MAAM;AACZ,QAAAN,EAAQa,EAAgB,+CAA+C;AAAA,MACzE;AAAA,MACA,iBAAiBP,EAAW,OAAO;AAAA,MACnC,WAAAH;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAeO,SAASY,EAAoB;AAAA,EAClC,mBAAAC;AAAA,EACA,iBAAAd;AAAA,EACA,GAAGe;AACL,GAA6B;AAC3B,SACE,gBAAAT;AAAA,IAACU;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAF;AAAA,MACA,iBAAAd;AAAA,MAEA,UAAA,gBAAAM,EAACV,GAAA,EAAwB,iBAAAI,GAAmC,GAAGe,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG5E;"}
|