@gusto/embedded-react-sdk 0.57.1 → 0.57.3
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 +33 -0
- package/dist/components/Base/Base.js +2 -3
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +32 -32
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -10
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -6
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -8
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +10 -11
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -8
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +8 -9
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -6
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +10 -12
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +11 -13
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -7
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -6
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +7 -9
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +8 -11
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +5 -7
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -9
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +10 -12
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +8 -10
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -6
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +6 -8
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +11 -13
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -6
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -6
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +66 -62
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.module.scss.js +2 -2
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +34 -14
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js +106 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js +136 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +38 -20
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +78 -44
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +45 -37
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +253 -92
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js +22 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js +13 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +48 -43
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js +57 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +11 -13
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js +83 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js +84 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js +49 -44
- package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +109 -39
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +5 -7
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -6
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -8
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -6
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -6
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +5 -5
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +16 -17
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js +4 -4
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js +3 -3
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js.map +1 -1
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js +6 -6
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +20 -20
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js +10 -10
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js.map +1 -1
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +8 -9
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Contractor/Landing/Landing.js +43 -39
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +3 -3
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +6 -8
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +10 -10
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +4 -4
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +8 -8
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +5 -5
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +3 -3
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +26 -27
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js.map +1 -1
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js +2 -9
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +18 -18
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +6 -6
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +25 -25
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +15 -15
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +25 -25
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +12 -13
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +12 -13
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +6 -8
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +7 -7
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +3 -4
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +3 -4
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +6 -6
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +37 -33
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +27 -27
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +22 -24
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +8 -9
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +14 -15
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +6 -6
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +8 -15
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +7 -8
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +7 -8
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +11 -11
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +12 -12
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +26 -26
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +56 -54
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +14 -16
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +6 -8
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +9 -11
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +66 -64
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +6 -6
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +75 -89
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +9 -9
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +44 -46
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +63 -61
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +14 -13
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -1
- package/dist/components/Payroll/helpers.js +53 -49
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/payrollTypes.js +1 -1
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +13 -16
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +2 -2
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -4
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +6 -8
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -30
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +2 -4
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/helpers/dateFormatting.js +47 -40
- package/dist/helpers/dateFormatting.js.map +1 -1
- package/dist/i18n/en/Company.Management.PaySchedule.json.js +37 -17
- package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +20 -10
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +5 -5
- package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +8 -10
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +12 -14
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -15
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +10 -12
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +14 -16
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +8 -10
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/shared/constants.js +5 -5
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Common/DateRangeFilter/DateRangeFilter.d.ts +2 -2
- package/dist/src/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/PayScheduleForm.d.ts +6 -0
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +10 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.d.ts +21 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.d.ts +9 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +5 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +10 -10
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +12 -4
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.d.ts +19 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.d.ts +17 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +16 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.d.ts +23 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.d.ts +25 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +1 -1
- package/dist/src/components/Contractor/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Employee/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/helpers.d.ts +22 -2
- package/dist/src/components/Payroll/usePreparedPayrollData.d.ts +2 -2
- package/dist/src/helpers/dateFormatting.d.ts +13 -0
- package/dist/src/i18n/types.d.ts +96 -6
- package/dist/src/models/external.d.ts +63 -48
- package/dist/src/shared/constants.d.ts +1 -1
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +33 -13
- package/package.json +21 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FederalTaxesEditForm.js","sources":["../../../../../src/components/Employee/FederalTaxes/management/FederalTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useManagementFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxesEditForm}.\n *\n * @public\n */\nexport interface FederalTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n}\n\n/**\n * Standalone form for editing an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * Pair with {@link FederalTaxesCard} to route its `employee/management/federalTaxes/card/editRequested` event to this form. {@link FederalTaxes} bundles the card, this form, and the swap wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit (for example, when the form needs to render in a modal or drawer, or when the swap is driven by a router).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/federalTaxes/editForm/submitted` | Fired after the form is saved; use it to return to the card | The updated `EmployeeFederalTax` entity |\n * | `employee/management/federalTaxes/editForm/cancelled` | Fired when the user clicks Cancel; use it to return to the card | — |\n *\n * @param props - See {@link FederalTaxesEditFormProps}.\n * @returns The rendered federal taxes edit form.\n * @public\n * @group Block components\n */\nexport function FederalTaxesEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: FederalTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesEditFormRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesEditFormProps) {\n useI18n('Employee.Management.FederalTaxes')\n useComponentDictionary('Employee.Management.FederalTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.FederalTaxes')\n const Components = useComponentContext()\n const viewDictionary = useManagementFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_SUBMITTED, result.data)\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_CANCELLED)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={federalTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n"],"names":["FederalTaxesEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesEditFormRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","viewDictionary","useManagementFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","handleSubmit","result","componentEvents","handleCancel","FederalTaxesView","ActionsLayout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FederalTaxesEditForm.js","sources":["../../../../../src/components/Employee/FederalTaxes/management/FederalTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useManagementFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxesEditForm}.\n *\n * @public\n */\nexport interface FederalTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n}\n\n/**\n * Standalone form for editing an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * Pair with {@link FederalTaxesCard} to route its `employee/management/federalTaxes/card/editRequested` event to this form. {@link FederalTaxes} bundles the card, this form, and the swap wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit (for example, when the form needs to render in a modal or drawer, or when the swap is driven by a router).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/federalTaxes/editForm/submitted` | Fired after the form is saved; use it to return to the card | The updated `EmployeeFederalTax` entity |\n * | `employee/management/federalTaxes/editForm/cancelled` | Fired when the user clicks Cancel; use it to return to the card | — |\n *\n * @param props - See {@link FederalTaxesEditFormProps}.\n * @returns The rendered federal taxes edit form.\n * @public\n * @group Block components\n */\nexport function FederalTaxesEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: FederalTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesEditFormRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesEditFormProps) {\n useI18n('Employee.Management.FederalTaxes')\n useComponentDictionary('Employee.Management.FederalTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.FederalTaxes')\n const Components = useComponentContext()\n const viewDictionary = useManagementFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_SUBMITTED, result.data)\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_CANCELLED)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={federalTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n"],"names":["FederalTaxesEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesEditFormRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","viewDictionary","useManagementFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","handleSubmit","result","componentEvents","handleCancel","FederalTaxesView","ActionsLayout"],"mappings":";;;;;;;;;;;AA2CO,SAASA,EAAqB;AAAA,EACnC,mBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAA8B;AAC5B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAyB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG7E;AAEA,SAASG,EAAyB;AAAA,EAChC,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAV;AACF,GAA8B;AAC5B,EAAAW,EAAQ,kCAAkC,GAC1CC,EAAuB,oCAAoCJ,CAAU;AACrE,QAAM,EAAE,GAAAK,EAAA,IAAMC,EAAe,kCAAkC,GACzDC,IAAaC,EAAA,GACbC,IAAiBC,EAAA,GAEjBC,IAAeC,EAAoB;AAAA,IACvC,YAAAf;AAAA,IACA,eAAAI;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,CAAC,WAAW,oBAAoB,eAAe,cAAc,kBAAkB;AAAA,IAAA;AAAA,EACzF,CACkC;AAEpC,MAAIU,EAAa;AACf,WACE,gBAAAjB;AAAA,MAACmB;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOF,EAAa,cAAc;AAAA,QAClC,iBAAAnB;AAAA,MAAA;AAAA,IAAA;AAKN,QAAMsB,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMJ,EAAa,QAAQ,SAAA;AAC1C,IAAKI,KAELb,EAAQc,EAAgB,uDAAuDD,EAAO,IAAI;AAAA,EAC5F,GAEME,IAAe,MAAM;AACzB,IAAAf,EAAQc,EAAgB,qDAAqD;AAAA,EAC/E;AAEA,SACE,gBAAAtB;AAAA,IAACwB;AAAA,IAAA;AAAA,MACC,cAAAP;AAAA,MACA,UAAUG;AAAA,MACV,iBAAAtB;AAAA,MACA,2BACG2B,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAzB,EAACa,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAC7C,UAAAZ,EAAE,WAAW,EAAA,CAChB;AAAA,QACA,gBAAAX,EAACa,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWI,EAAa,OAAO,WAC7D,UAAAN,EAAE,SAAS,EAAA,CACd;AAAA,MAAA,GACF;AAAA,MAEF,WAAAP;AAAA,MACA,YAAYW;AAAA,MAEX,UAAAV;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -5,12 +5,11 @@ import { useFederalTaxesForm as E } from "../shared/useFederalTaxesForm/useFeder
|
|
|
5
5
|
import { useOnboardingFederalTaxesViewDictionary as f } from "./useViewDictionary.js";
|
|
6
6
|
import { BaseBoundaries as T, BaseLayout as x } from "../../../Base/Base.js";
|
|
7
7
|
import "../../../Base/useBase.js";
|
|
8
|
-
import "classnames";
|
|
9
|
-
import { componentEvents as m } from "../../../../shared/constants.js";
|
|
10
8
|
import { ActionsLayout as F } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
9
|
import { useI18n as y, useComponentDictionary as b } from "../../../../i18n/I18n.js";
|
|
10
|
+
import { componentEvents as m } from "../../../../shared/constants.js";
|
|
12
11
|
import { useComponentContext as g } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
13
|
-
function
|
|
12
|
+
function N({ FallbackComponent: t, LoaderComponent: o, ...r }) {
|
|
14
13
|
return /* @__PURE__ */ e(
|
|
15
14
|
T,
|
|
16
15
|
{
|
|
@@ -66,6 +65,6 @@ function A({ isPending: t }) {
|
|
|
66
65
|
return /* @__PURE__ */ e(F, { children: /* @__PURE__ */ e(r.Button, { type: "submit", isLoading: t, children: o("submitCta") }) });
|
|
67
66
|
}
|
|
68
67
|
export {
|
|
69
|
-
|
|
68
|
+
N as FederalTaxes
|
|
70
69
|
};
|
|
71
70
|
//# sourceMappingURL=FederalTaxes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FederalTaxes.js","sources":["../../../../../src/components/Employee/FederalTaxes/onboarding/FederalTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useOnboardingFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxes}.\n *\n * @public\n */\nexport interface FederalTaxesProps extends BaseComponentInterface<'Employee.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n /** Callback invoked when the block emits an event. See the events table on {@link FederalTaxes} for the available event types and payloads. */\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/**\n * Onboarding step for collecting an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * The federal tax record is created automatically with the employee, so this step is always in update mode. Only the revised 2020 W-4 format is supported. All fields are required by the bundled form, mirroring the IRS-form UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/federalTaxes/updated` | Fired after the form is saved | The updated `EmployeeFederalTax` entity |\n * | `employee/federalTaxes/done` | Fired after a successful save so the parent flow can advance | — |\n *\n * @param props - See {@link FederalTaxesProps}.\n * @returns The federal taxes onboarding step.\n * @public\n * @group Block components\n */\nexport function FederalTaxes({ FallbackComponent, LoaderComponent, ...props }: FederalTaxesProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesProps) {\n useI18n('Employee.FederalTaxes')\n useComponentDictionary('Employee.FederalTaxes', dictionary)\n const viewDictionary = useOnboardingFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={<ContinueAction isPending={federalTaxes.status.isPending} />}\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.FederalTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["FederalTaxes","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","viewDictionary","useOnboardingFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","FederalTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FederalTaxes.js","sources":["../../../../../src/components/Employee/FederalTaxes/onboarding/FederalTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useOnboardingFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxes}.\n *\n * @public\n */\nexport interface FederalTaxesProps extends BaseComponentInterface<'Employee.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n /** Callback invoked when the block emits an event. See the events table on {@link FederalTaxes} for the available event types and payloads. */\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/**\n * Onboarding step for collecting an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * The federal tax record is created automatically with the employee, so this step is always in update mode. Only the revised 2020 W-4 format is supported. All fields are required by the bundled form, mirroring the IRS-form UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/federalTaxes/updated` | Fired after the form is saved | The updated `EmployeeFederalTax` entity |\n * | `employee/federalTaxes/done` | Fired after a successful save so the parent flow can advance | — |\n *\n * @param props - See {@link FederalTaxesProps}.\n * @returns The federal taxes onboarding step.\n * @public\n * @group Block components\n */\nexport function FederalTaxes({ FallbackComponent, LoaderComponent, ...props }: FederalTaxesProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesProps) {\n useI18n('Employee.FederalTaxes')\n useComponentDictionary('Employee.FederalTaxes', dictionary)\n const viewDictionary = useOnboardingFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={<ContinueAction isPending={federalTaxes.status.isPending} />}\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.FederalTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["FederalTaxes","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","viewDictionary","useOnboardingFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","FederalTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":";;;;;;;;;;;AA6CO,SAASA,EAAa,EAAE,mBAAAC,GAAmB,iBAAAC,GAAiB,GAAGC,KAA4B;AAChG,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAiB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGrE;AAEA,SAASG,EAAiB;AAAA,EACxB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAV;AACF,GAAsB;AACpB,EAAAW,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBJ,CAAU;AAC1D,QAAMK,IAAiBC,EAAA,GAEjBC,IAAeC,EAAoB;AAAA,IACvC,YAAAX;AAAA,IACA,eAAAI;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,CAAC,WAAW,oBAAoB,eAAe,cAAc,kBAAkB;AAAA,IAAA;AAAA,EACzF,CACkC;AAEpC,SAAIM,EAAa,YAEb,gBAAAb;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,OAAOF,EAAa,cAAc;AAAA,MAClC,iBAAAf;AAAA,IAAA;AAAA,EAAA,IAcJ,gBAAAE;AAAA,IAACgB;AAAA,IAAA;AAAA,MACC,cAAAH;AAAA,MACA,UAXiB,YAAY;AAC/B,cAAMI,IAAS,MAAMJ,EAAa,QAAQ,SAAA;AAC1C,QAAKI,MAELT,EAAQU,EAAgB,gCAAgCD,EAAO,IAAI,GACnET,EAAQU,EAAgB,2BAA2B;AAAA,MACrD;AAAA,MAMI,iBAAApB;AAAA,MACA,SAAS,gBAAAE,EAACmB,GAAA,EAAe,WAAWN,EAAa,OAAO,WAAW;AAAA,MACnE,WAAAT;AAAA,MACA,YAAYO;AAAA,MAEX,UAAAN;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,SAASc,EAAe,EAAE,WAAAC,KAAqC;AAC7D,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,uBAAuB,GAC9CC,IAAaC,EAAA;AAEnB,SACE,gBAAAxB,EAACyB,GAAA,EACC,UAAA,gBAAAzB,EAACuB,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWH,GACzC,UAAAC,EAAE,WAAW,GAChB,GACF;AAEJ;"}
|
|
@@ -29,22 +29,22 @@ function se({
|
|
|
29
29
|
baseSubmitHandler: H,
|
|
30
30
|
error: h,
|
|
31
31
|
setError: L
|
|
32
|
-
} = C("Employee.Management.HomeAddress"), m = _(), [w, D] = N(void 0), f = T({ employeeId: e }, { enabled: !!e }), r = f.data?.employeeAddressList,
|
|
32
|
+
} = C("Employee.Management.HomeAddress"), m = _(), [w, D] = N(void 0), f = T({ employeeId: e }, { enabled: !!e }), r = f.data?.employeeAddressList, S = r?.find((s) => s.active) ?? r?.[0], t = w ?? S?.uuid, F = t ? r?.find((s) => s.uuid === t) : void 0, u = y({
|
|
33
33
|
employeeId: e,
|
|
34
34
|
homeAddressUuid: t,
|
|
35
|
-
initialAddress:
|
|
35
|
+
initialAddress: F,
|
|
36
36
|
withEffectiveDateField: !0
|
|
37
37
|
}), c = y({
|
|
38
38
|
employeeId: e,
|
|
39
39
|
homeAddressUuid: void 0,
|
|
40
40
|
withEffectiveDateField: !0
|
|
41
41
|
}), o = G({ employeeId: e }, { enabled: !!e }), l = U(() => {
|
|
42
|
-
const s = o.data?.
|
|
42
|
+
const s = o.data?.employeeShow;
|
|
43
43
|
return s ? Q({
|
|
44
44
|
first_name: s.firstName,
|
|
45
45
|
last_name: s.lastName
|
|
46
46
|
}).trim() : "";
|
|
47
|
-
}, [o.data?.
|
|
47
|
+
}, [o.data?.employeeShow]), d = O(
|
|
48
48
|
[o, f],
|
|
49
49
|
{ submitError: h, setSubmitError: L }
|
|
50
50
|
), E = {
|
|
@@ -66,7 +66,7 @@ function se({
|
|
|
66
66
|
}
|
|
67
67
|
), A;
|
|
68
68
|
}
|
|
69
|
-
},
|
|
69
|
+
}, M = {
|
|
70
70
|
employeeDisplayName: l,
|
|
71
71
|
employeeHomeAddresses: r,
|
|
72
72
|
editingHomeAddressUuid: t,
|
|
@@ -78,7 +78,7 @@ function se({
|
|
|
78
78
|
if (o.isError)
|
|
79
79
|
return {
|
|
80
80
|
isLoading: !1,
|
|
81
|
-
data:
|
|
81
|
+
data: M,
|
|
82
82
|
status: {
|
|
83
83
|
isDeletePending: m.isPending,
|
|
84
84
|
isEmployeeError: !0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHomeAddressManagement.js","sources":["../../../../../src/components/Employee/HomeAddress/management/useHomeAddressManagement.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesDeleteMutation } from '@gusto/embedded-api/react-query/employeeAddressesDelete'\nimport { useEmployeeAddressesGet } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { useEmployeesGet } from '@gusto/embedded-api/react-query/employeesGet'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { useHomeAddressForm } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport type {\n UseHomeAddressFormReady,\n UseHomeAddressFormResult,\n} from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseHookReady,\n HookErrorHandling,\n HookLoadingResult,\n} from '@/partner-hook-utils/types'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Params for {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport interface UseHomeAddressManagementParams {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when a home address is deleted. */\n onEvent: OnEventType<EventType, unknown>\n}\n\ninterface UseHomeAddressManagementDataPendingForms extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormResult\n createHomeAddressForm: UseHomeAddressFormResult\n}\n\ninterface UseHomeAddressManagementDataReady extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n}\n\ninterface UseHomeAddressManagementStatusEmployeeError extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: true\n}\n\ninterface UseHomeAddressManagementStatusSuccess extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: false\n}\n\ninterface UseHomeAddressManagementActions {\n setEditAddressTarget: (homeAddressUuid: string | undefined) => void\n confirmDeleteHomeAddress: (homeAddressUuid: string) => Promise<boolean>\n}\n\ninterface UseHomeAddressManagementReadyEmployeeError extends BaseHookReady<\n UseHomeAddressManagementDataPendingForms,\n UseHomeAddressManagementStatusEmployeeError\n> {\n actions: UseHomeAddressManagementActions\n}\n\n/**\n * Ready state of {@link useHomeAddressManagement} when the employee was fetched successfully.\n *\n * @public\n */\nexport interface UseHomeAddressManagementReadySuccess extends BaseHookReady<\n UseHomeAddressManagementDataReady,\n UseHomeAddressManagementStatusSuccess\n> {\n /** Actions for changing edit target and confirming home address deletion. */\n actions: UseHomeAddressManagementActions\n}\n\ntype UseHomeAddressManagementReady =\n UseHomeAddressManagementReadyEmployeeError | UseHomeAddressManagementReadySuccess\n\n/**\n * Return type of {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport type UseHomeAddressManagementResult = HookLoadingResult | UseHomeAddressManagementReady\n\n/**\n * Type guard for the success branch of {@link useHomeAddressManagement}.\n *\n * @param value - The hook result to narrow.\n * @returns `true` when the hook has finished loading and the employee fetch succeeded.\n * @public\n */\nexport function isUseHomeAddressManagementSuccess(\n value: UseHomeAddressManagementResult,\n): value is UseHomeAddressManagementReadySuccess {\n if (value.isLoading) {\n return false\n }\n return !value.status.isEmployeeError\n}\n\nfunction homeAddressFormsReady(\n editHomeAddressForm: UseHomeAddressFormResult,\n createHomeAddressForm: UseHomeAddressFormResult,\n): Pick<UseHomeAddressManagementDataReady, 'editHomeAddressForm' | 'createHomeAddressForm'> {\n if (editHomeAddressForm.isLoading) {\n throw new SDKInternalError('Edit home address form is still loading')\n }\n if (createHomeAddressForm.isLoading) {\n throw new SDKInternalError('Create home address form is still loading')\n }\n return {\n editHomeAddressForm,\n createHomeAddressForm,\n }\n}\n\n/**\n * Headless hook for managing an employee's home addresses.\n *\n * @remarks\n * Fetches the employee and their home addresses, exposes edit and create form hooks\n * for the address modal, and provides an action to delete a non-active address.\n * Use {@link isUseHomeAddressManagementSuccess} to narrow the ready state when the\n * employee fetch succeeded.\n *\n * @param params - {@link UseHomeAddressManagementParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state once data is available.\n * @public\n */\nexport function useHomeAddressManagement({\n employeeId,\n onEvent,\n}: UseHomeAddressManagementParams): UseHomeAddressManagementResult {\n const {\n baseSubmitHandler,\n error: rootSubmitError,\n setError: setRootSubmitError,\n } = useBaseSubmit('Employee.Management.HomeAddress')\n const deleteHomeAddressMutation = useEmployeeAddressesDeleteMutation()\n\n const [editTargetUuid, setEditAddressTarget] = useState<string | undefined>(undefined)\n\n const homeAddressesQuery = useEmployeeAddressesGet({ employeeId }, { enabled: !!employeeId })\n const employeeHomeAddresses = homeAddressesQuery.data?.employeeAddressList\n const currentHomeAddress =\n employeeHomeAddresses?.find(a => a.active) ?? employeeHomeAddresses?.[0]\n\n const editingHomeAddressUuid = editTargetUuid ?? currentHomeAddress?.uuid\n\n const editingHomeAddressRow = editingHomeAddressUuid\n ? employeeHomeAddresses?.find(a => a.uuid === editingHomeAddressUuid)\n : undefined\n\n const editHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: editingHomeAddressUuid,\n initialAddress: editingHomeAddressRow,\n withEffectiveDateField: true,\n })\n const createHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: undefined,\n withEffectiveDateField: true,\n })\n\n const employeeQuery = useEmployeesGet({ employeeId }, { enabled: !!employeeId })\n\n const employeeDisplayName = useMemo(() => {\n const employee = employeeQuery.data?.employee\n if (!employee) {\n return ''\n }\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }).trim()\n }, [employeeQuery.data?.employee])\n\n // Form hooks are intentionally excluded here so their submit errors don't render in the\n // page-level BaseLayout outside the edit/create modal (SDK-930). The view renders those\n // errors inside the modal directly via the form hook's own errorHandling.\n const errorHandling: HookErrorHandling = composeErrorHandler(\n [employeeQuery, homeAddressesQuery],\n { submitError: rootSubmitError, setSubmitError: setRootSubmitError },\n )\n\n const confirmDeleteHomeAddress = async (homeAddressUuid: string): Promise<boolean> => {\n const snapshot = employeeHomeAddresses?.find(a => a.uuid === homeAddressUuid) ?? null\n\n let succeeded = false\n await baseSubmitHandler(\n { homeAddressUuid, snapshot },\n async ({ homeAddressUuid: uuid, snapshot: snap }) => {\n const target = employeeHomeAddresses?.find(a => a.uuid === uuid)\n if (!target) {\n throw new SDKInternalError('Home address not found')\n }\n if (target.active === true) {\n throw new SDKInternalError('Cannot delete the active home address')\n }\n\n await deleteHomeAddressMutation.mutateAsync({\n request: { homeAddressUuid: uuid },\n })\n succeeded = true\n if (snap) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_DELETED, snap)\n }\n },\n )\n return succeeded\n }\n\n const actions: UseHomeAddressManagementActions = {\n setEditAddressTarget,\n confirmDeleteHomeAddress,\n }\n\n const dataPayloadPendingForms: UseHomeAddressManagementDataPendingForms = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm,\n createHomeAddressForm,\n }\n\n if (employeeQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n if (employeeQuery.isError) {\n return {\n isLoading: false,\n data: dataPayloadPendingForms,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: true,\n },\n errorHandling,\n actions,\n }\n }\n\n const isFormsLoading = editHomeAddressForm.isLoading || createHomeAddressForm.isLoading\n if (isFormsLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const { editHomeAddressForm: editReady, createHomeAddressForm: createReady } =\n homeAddressFormsReady(editHomeAddressForm, createHomeAddressForm)\n\n const dataReady: UseHomeAddressManagementDataReady = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm: editReady,\n createHomeAddressForm: createReady,\n }\n\n return {\n isLoading: false,\n data: dataReady,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: false,\n },\n errorHandling,\n actions,\n }\n}\n"],"names":["isUseHomeAddressManagementSuccess","value","homeAddressFormsReady","editHomeAddressForm","createHomeAddressForm","SDKInternalError","useHomeAddressManagement","employeeId","onEvent","baseSubmitHandler","rootSubmitError","setRootSubmitError","useBaseSubmit","deleteHomeAddressMutation","useEmployeeAddressesDeleteMutation","editTargetUuid","setEditAddressTarget","useState","homeAddressesQuery","useEmployeeAddressesGet","employeeHomeAddresses","currentHomeAddress","a","editingHomeAddressUuid","editingHomeAddressRow","useHomeAddressForm","employeeQuery","useEmployeesGet","employeeDisplayName","useMemo","employee","firstLastName","errorHandling","composeErrorHandler","actions","homeAddressUuid","snapshot","succeeded","uuid","snap","target","componentEvents","dataPayloadPendingForms","editReady","createReady"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useHomeAddressManagement.js","sources":["../../../../../src/components/Employee/HomeAddress/management/useHomeAddressManagement.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport type { EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesDeleteMutation } from '@gusto/embedded-api/react-query/employeeAddressesDelete'\nimport { useEmployeeAddressesGet } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { useEmployeesGet } from '@gusto/embedded-api/react-query/employeesGet'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { useHomeAddressForm } from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport type {\n UseHomeAddressFormReady,\n UseHomeAddressFormResult,\n} from '@/components/Employee/Profile/shared/useHomeAddressForm'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseHookReady,\n HookErrorHandling,\n HookLoadingResult,\n} from '@/partner-hook-utils/types'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Params for {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport interface UseHomeAddressManagementParams {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when a home address is deleted. */\n onEvent: OnEventType<EventType, unknown>\n}\n\ninterface UseHomeAddressManagementDataPendingForms extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormResult\n createHomeAddressForm: UseHomeAddressFormResult\n}\n\ninterface UseHomeAddressManagementDataReady extends Record<string, unknown> {\n employeeDisplayName: string\n employeeHomeAddresses: EmployeeAddress[] | undefined\n editingHomeAddressUuid: string | undefined\n editHomeAddressForm: UseHomeAddressFormReady\n createHomeAddressForm: UseHomeAddressFormReady\n}\n\ninterface UseHomeAddressManagementStatusEmployeeError extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: true\n}\n\ninterface UseHomeAddressManagementStatusSuccess extends Record<string, unknown> {\n isDeletePending: boolean\n isEmployeeError: false\n}\n\ninterface UseHomeAddressManagementActions {\n setEditAddressTarget: (homeAddressUuid: string | undefined) => void\n confirmDeleteHomeAddress: (homeAddressUuid: string) => Promise<boolean>\n}\n\ninterface UseHomeAddressManagementReadyEmployeeError extends BaseHookReady<\n UseHomeAddressManagementDataPendingForms,\n UseHomeAddressManagementStatusEmployeeError\n> {\n actions: UseHomeAddressManagementActions\n}\n\n/**\n * Ready state of {@link useHomeAddressManagement} when the employee was fetched successfully.\n *\n * @public\n */\nexport interface UseHomeAddressManagementReadySuccess extends BaseHookReady<\n UseHomeAddressManagementDataReady,\n UseHomeAddressManagementStatusSuccess\n> {\n /** Actions for changing edit target and confirming home address deletion. */\n actions: UseHomeAddressManagementActions\n}\n\ntype UseHomeAddressManagementReady =\n UseHomeAddressManagementReadyEmployeeError | UseHomeAddressManagementReadySuccess\n\n/**\n * Return type of {@link useHomeAddressManagement}.\n *\n * @public\n */\nexport type UseHomeAddressManagementResult = HookLoadingResult | UseHomeAddressManagementReady\n\n/**\n * Type guard for the success branch of {@link useHomeAddressManagement}.\n *\n * @param value - The hook result to narrow.\n * @returns `true` when the hook has finished loading and the employee fetch succeeded.\n * @public\n */\nexport function isUseHomeAddressManagementSuccess(\n value: UseHomeAddressManagementResult,\n): value is UseHomeAddressManagementReadySuccess {\n if (value.isLoading) {\n return false\n }\n return !value.status.isEmployeeError\n}\n\nfunction homeAddressFormsReady(\n editHomeAddressForm: UseHomeAddressFormResult,\n createHomeAddressForm: UseHomeAddressFormResult,\n): Pick<UseHomeAddressManagementDataReady, 'editHomeAddressForm' | 'createHomeAddressForm'> {\n if (editHomeAddressForm.isLoading) {\n throw new SDKInternalError('Edit home address form is still loading')\n }\n if (createHomeAddressForm.isLoading) {\n throw new SDKInternalError('Create home address form is still loading')\n }\n return {\n editHomeAddressForm,\n createHomeAddressForm,\n }\n}\n\n/**\n * Headless hook for managing an employee's home addresses.\n *\n * @remarks\n * Fetches the employee and their home addresses, exposes edit and create form hooks\n * for the address modal, and provides an action to delete a non-active address.\n * Use {@link isUseHomeAddressManagementSuccess} to narrow the ready state when the\n * employee fetch succeeded.\n *\n * @param params - {@link UseHomeAddressManagementParams}\n * @returns A {@link HookLoadingResult} while loading, or the ready state once data is available.\n * @public\n */\nexport function useHomeAddressManagement({\n employeeId,\n onEvent,\n}: UseHomeAddressManagementParams): UseHomeAddressManagementResult {\n const {\n baseSubmitHandler,\n error: rootSubmitError,\n setError: setRootSubmitError,\n } = useBaseSubmit('Employee.Management.HomeAddress')\n const deleteHomeAddressMutation = useEmployeeAddressesDeleteMutation()\n\n const [editTargetUuid, setEditAddressTarget] = useState<string | undefined>(undefined)\n\n const homeAddressesQuery = useEmployeeAddressesGet({ employeeId }, { enabled: !!employeeId })\n const employeeHomeAddresses = homeAddressesQuery.data?.employeeAddressList\n const currentHomeAddress =\n employeeHomeAddresses?.find(a => a.active) ?? employeeHomeAddresses?.[0]\n\n const editingHomeAddressUuid = editTargetUuid ?? currentHomeAddress?.uuid\n\n const editingHomeAddressRow = editingHomeAddressUuid\n ? employeeHomeAddresses?.find(a => a.uuid === editingHomeAddressUuid)\n : undefined\n\n const editHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: editingHomeAddressUuid,\n initialAddress: editingHomeAddressRow,\n withEffectiveDateField: true,\n })\n const createHomeAddressForm = useHomeAddressForm({\n employeeId,\n homeAddressUuid: undefined,\n withEffectiveDateField: true,\n })\n\n const employeeQuery = useEmployeesGet({ employeeId }, { enabled: !!employeeId })\n\n const employeeDisplayName = useMemo(() => {\n const employee = employeeQuery.data?.employeeShow\n if (!employee) {\n return ''\n }\n return firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }).trim()\n }, [employeeQuery.data?.employeeShow])\n\n // Form hooks are intentionally excluded here so their submit errors don't render in the\n // page-level BaseLayout outside the edit/create modal (SDK-930). The view renders those\n // errors inside the modal directly via the form hook's own errorHandling.\n const errorHandling: HookErrorHandling = composeErrorHandler(\n [employeeQuery, homeAddressesQuery],\n { submitError: rootSubmitError, setSubmitError: setRootSubmitError },\n )\n\n const confirmDeleteHomeAddress = async (homeAddressUuid: string): Promise<boolean> => {\n const snapshot = employeeHomeAddresses?.find(a => a.uuid === homeAddressUuid) ?? null\n\n let succeeded = false\n await baseSubmitHandler(\n { homeAddressUuid, snapshot },\n async ({ homeAddressUuid: uuid, snapshot: snap }) => {\n const target = employeeHomeAddresses?.find(a => a.uuid === uuid)\n if (!target) {\n throw new SDKInternalError('Home address not found')\n }\n if (target.active === true) {\n throw new SDKInternalError('Cannot delete the active home address')\n }\n\n await deleteHomeAddressMutation.mutateAsync({\n request: { homeAddressUuid: uuid },\n })\n succeeded = true\n if (snap) {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_HOME_ADDRESS_DELETED, snap)\n }\n },\n )\n return succeeded\n }\n\n const actions: UseHomeAddressManagementActions = {\n setEditAddressTarget,\n confirmDeleteHomeAddress,\n }\n\n const dataPayloadPendingForms: UseHomeAddressManagementDataPendingForms = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm,\n createHomeAddressForm,\n }\n\n if (employeeQuery.isLoading) {\n return { isLoading: true, errorHandling }\n }\n\n if (employeeQuery.isError) {\n return {\n isLoading: false,\n data: dataPayloadPendingForms,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: true,\n },\n errorHandling,\n actions,\n }\n }\n\n const isFormsLoading = editHomeAddressForm.isLoading || createHomeAddressForm.isLoading\n if (isFormsLoading) {\n return { isLoading: true, errorHandling }\n }\n\n const { editHomeAddressForm: editReady, createHomeAddressForm: createReady } =\n homeAddressFormsReady(editHomeAddressForm, createHomeAddressForm)\n\n const dataReady: UseHomeAddressManagementDataReady = {\n employeeDisplayName,\n employeeHomeAddresses,\n editingHomeAddressUuid,\n editHomeAddressForm: editReady,\n createHomeAddressForm: createReady,\n }\n\n return {\n isLoading: false,\n data: dataReady,\n status: {\n isDeletePending: deleteHomeAddressMutation.isPending,\n isEmployeeError: false,\n },\n errorHandling,\n actions,\n }\n}\n"],"names":["isUseHomeAddressManagementSuccess","value","homeAddressFormsReady","editHomeAddressForm","createHomeAddressForm","SDKInternalError","useHomeAddressManagement","employeeId","onEvent","baseSubmitHandler","rootSubmitError","setRootSubmitError","useBaseSubmit","deleteHomeAddressMutation","useEmployeeAddressesDeleteMutation","editTargetUuid","setEditAddressTarget","useState","homeAddressesQuery","useEmployeeAddressesGet","employeeHomeAddresses","currentHomeAddress","a","editingHomeAddressUuid","editingHomeAddressRow","useHomeAddressForm","employeeQuery","useEmployeesGet","employeeDisplayName","useMemo","employee","firstLastName","errorHandling","composeErrorHandler","actions","homeAddressUuid","snapshot","succeeded","uuid","snap","target","componentEvents","dataPayloadPendingForms","editReady","createReady"],"mappings":"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"}
|
|
@@ -1,53 +1,57 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { useEmployeesGetSuspense as
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { useMemo as
|
|
7
|
-
import { BaseComponent as
|
|
8
|
-
import { useBase as
|
|
9
|
-
import { Flex as
|
|
10
|
-
import { ActionsLayout as
|
|
11
|
-
import { useComponentContext as
|
|
12
|
-
import { useI18n as
|
|
13
|
-
import { componentEvents as
|
|
14
|
-
import
|
|
15
|
-
function
|
|
16
|
-
return /* @__PURE__ */ e(
|
|
1
|
+
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as u } from "react-i18next";
|
|
3
|
+
import { useEmployeesGetSuspense as h } from "@gusto/embedded-api/react-query/employeesGet";
|
|
4
|
+
import { GetV1EmployeesQueryParamInclude as g } from "@gusto/embedded-api/models/operations/getv1employees";
|
|
5
|
+
import a from "dompurify";
|
|
6
|
+
import { useMemo as s } from "react";
|
|
7
|
+
import { BaseComponent as y } from "../../Base/Base.js";
|
|
8
|
+
import { useBase as x } from "../../Base/useBase.js";
|
|
9
|
+
import { Flex as m } from "../../Common/Flex/Flex.js";
|
|
10
|
+
import { ActionsLayout as E } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
|
+
import { useComponentContext as C } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
|
+
import { useI18n as N, useComponentDictionary as I } from "../../../i18n/I18n.js";
|
|
13
|
+
import { componentEvents as L } from "../../../shared/constants.js";
|
|
14
|
+
import S from "../../../assets/icons/icon-arrow-right.svg.js";
|
|
15
|
+
function k(t) {
|
|
16
|
+
return /* @__PURE__ */ e(y, { ...t, children: /* @__PURE__ */ e(D, { ...t, children: t.children }) });
|
|
17
17
|
}
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
const { onEvent:
|
|
21
|
-
data: {
|
|
22
|
-
} =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
const D = ({ employeeId: t, className: c, dictionary: p }) => {
|
|
19
|
+
N("Employee.Landing"), I("Employee.Landing", p);
|
|
20
|
+
const { onEvent: l } = x(), o = C(), {
|
|
21
|
+
data: { employeeShow: i }
|
|
22
|
+
} = h({
|
|
23
|
+
employeeId: t,
|
|
24
|
+
include: [g.CompanyName]
|
|
25
|
+
}), d = s(() => a.sanitize(i.firstName), [i]), f = s(
|
|
26
|
+
() => a.sanitize(i?.companyName ?? ""),
|
|
27
|
+
[i]
|
|
28
|
+
), { t: n } = u("Employee.Landing");
|
|
29
|
+
return /* @__PURE__ */ e("section", { className: c, children: /* @__PURE__ */ e(
|
|
26
30
|
o.Box,
|
|
27
31
|
{
|
|
28
|
-
footer: /* @__PURE__ */ e(
|
|
32
|
+
footer: /* @__PURE__ */ e(E, { children: /* @__PURE__ */ r(
|
|
29
33
|
o.Button,
|
|
30
34
|
{
|
|
31
35
|
variant: "secondary",
|
|
32
36
|
onClick: () => {
|
|
33
|
-
|
|
37
|
+
l(L.EMPLOYEE_SELF_ONBOARDING_START);
|
|
34
38
|
},
|
|
35
39
|
children: [
|
|
36
40
|
n("getStartedCta"),
|
|
37
|
-
/* @__PURE__ */ e(
|
|
41
|
+
/* @__PURE__ */ e(S, { "aria-hidden": !0 })
|
|
38
42
|
]
|
|
39
43
|
}
|
|
40
44
|
) }),
|
|
41
|
-
children: /* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
45
|
+
children: /* @__PURE__ */ r(m, { alignItems: "center", flexDirection: "column", gap: 32, children: [
|
|
46
|
+
/* @__PURE__ */ r(m, { flexDirection: "column", gap: 4, children: [
|
|
43
47
|
/* @__PURE__ */ e(o.Heading, { as: "h2", children: n("landingSubtitle", {
|
|
44
|
-
firstName:
|
|
45
|
-
companyName:
|
|
48
|
+
firstName: d,
|
|
49
|
+
companyName: f,
|
|
46
50
|
interpolation: { escapeValue: !1 }
|
|
47
51
|
}) }),
|
|
48
52
|
/* @__PURE__ */ e(o.Text, { variant: "supporting", children: n("landingDescription") })
|
|
49
53
|
] }),
|
|
50
|
-
/* @__PURE__ */
|
|
54
|
+
/* @__PURE__ */ r(m, { flexDirection: "column", gap: 8, children: [
|
|
51
55
|
/* @__PURE__ */ e(o.Heading, { as: "h3", children: n("stepsSubtitle") }),
|
|
52
56
|
/* @__PURE__ */ e(
|
|
53
57
|
o.UnorderedList,
|
|
@@ -61,6 +65,6 @@ const B = ({ employeeId: t, companyId: p, className: l, dictionary: d }) => {
|
|
|
61
65
|
) });
|
|
62
66
|
};
|
|
63
67
|
export {
|
|
64
|
-
|
|
68
|
+
k as Landing
|
|
65
69
|
};
|
|
66
70
|
//# sourceMappingURL=Landing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Employee/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {
|
|
1
|
+
{"version":3,"file":"Landing.js","sources":["../../../../src/components/Employee/Landing/Landing.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { GetV1EmployeesQueryParamInclude } from '@gusto/embedded-api/models/operations/getv1employees'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport ArrowRightIcon from '@/assets/icons/icon-arrow-right.svg?react'\n\n/**\n * Props for the {@link Landing} component.\n *\n * @public\n */\nexport interface LandingProps extends BaseComponentInterface<'Employee.Landing'> {\n /** UUID of the employee entering the self-onboarding flow. */\n employeeId: string\n /**\n * @deprecated\n * UUID of the company the employee belongs to.\n */\n companyId?: string\n}\n\n/**\n * Landing page for the employee self-onboarding flow. Displays a welcome\n * message and the list of onboarding steps the employee needs to complete.\n *\n * @public\n */\nexport function Landing(props: LandingProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, dictionary }: LandingProps) => {\n useI18n('Employee.Landing')\n useComponentDictionary('Employee.Landing', dictionary)\n const { onEvent } = useBase()\n const Components = useComponentContext()\n\n const {\n data: { employeeShow: employee },\n } = useEmployeesGetSuspense({\n employeeId,\n include: [GetV1EmployeesQueryParamInclude.CompanyName],\n })\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(employee!.firstName), [employee])\n const sanitizedCompanyName = useMemo(\n () => DOMPurify.sanitize(employee?.companyName ?? ''),\n [employee],\n )\n\n const { t } = useTranslation('Employee.Landing')\n\n return (\n <section className={className}>\n <Components.Box\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SELF_ONBOARDING_START)\n }}\n >\n {t('getStartedCta')}\n <ArrowRightIcon aria-hidden />\n </Components.Button>\n </ActionsLayout>\n }\n >\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('landingSubtitle', {\n firstName: sanitizedFirstName,\n companyName: sanitizedCompanyName,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('landingDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Heading as=\"h3\">{t('stepsSubtitle')}</Components.Heading>\n <Components.UnorderedList\n items={[t('steps.personalInfo'), t('steps.taxInfo'), t('steps.bankInfo')]}\n />\n </Flex>\n </Flex>\n </Components.Box>\n </section>\n )\n}\n"],"names":["Landing","props","jsx","BaseComponent","Root","employeeId","className","dictionary","useI18n","useComponentDictionary","onEvent","useBase","Components","useComponentContext","employee","useEmployeesGetSuspense","GetV1EmployeesQueryParamInclude","sanitizedFirstName","useMemo","DOMPurify","sanitizedCompanyName","t","useTranslation","ActionsLayout","jsxs","componentEvents","ArrowRightIcon","Flex"],"mappings":";;;;;;;;;;;;;;AAkCO,SAASA,EAAQC,GAAqB;AAC3C,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,YAAAC,GAAY,WAAAC,GAAW,YAAAC,QAA+B;AACpE,EAAAC,EAAQ,kBAAkB,GAC1BC,EAAuB,oBAAoBF,CAAU;AACrD,QAAM,EAAE,SAAAG,EAAA,IAAYC,EAAA,GACdC,IAAaC,EAAA,GAEb;AAAA,IACJ,MAAM,EAAE,cAAcC,EAAA;AAAA,EAAS,IAC7BC,EAAwB;AAAA,IAC1B,YAAAV;AAAA,IACA,SAAS,CAACW,EAAgC,WAAW;AAAA,EAAA,CACtD,GACKC,IAAqBC,EAAQ,MAAMC,EAAU,SAASL,EAAU,SAAS,GAAG,CAACA,CAAQ,CAAC,GACtFM,IAAuBF;AAAA,IAC3B,MAAMC,EAAU,SAASL,GAAU,eAAe,EAAE;AAAA,IACpD,CAACA,CAAQ;AAAA,EAAA,GAGL,EAAE,GAAAO,EAAA,IAAMC,EAAe,kBAAkB;AAE/C,SACE,gBAAApB,EAAC,aAAQ,WAAAI,GACP,UAAA,gBAAAJ;AAAA,IAACU,EAAW;AAAA,IAAX;AAAA,MACC,0BACGW,GAAA,EACC,UAAA,gBAAAC;AAAA,QAACZ,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,YAAAF,EAAQe,EAAgB,8BAA8B;AAAA,UACxD;AAAA,UAEC,UAAA;AAAA,YAAAJ,EAAE,eAAe;AAAA,YAClB,gBAAAnB,EAACwB,GAAA,EAAe,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEhC;AAAA,MAGF,4BAACC,GAAA,EAAK,YAAW,UAAS,eAAc,UAAS,KAAK,IACpD,UAAA;AAAA,QAAA,gBAAAH,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAzB,EAACU,EAAW,SAAX,EAAmB,IAAG,MACpB,YAAE,mBAAmB;AAAA,YACpB,WAAWK;AAAA,YACX,aAAaG;AAAA,YACb,eAAe,EAAE,aAAa,GAAA;AAAA,UAAM,CACrC,GACH;AAAA,UACA,gBAAAlB,EAACU,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAAS,EAAE,oBAAoB,EAAA,CAAE;AAAA,QAAA,GACjE;AAAA,QACA,gBAAAG,EAACG,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,UAAA,gBAAAzB,EAACU,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAS,EAAE,eAAe,GAAE;AAAA,UAChD,gBAAAnB;AAAA,YAACU,EAAW;AAAA,YAAX;AAAA,cACC,OAAO,CAACS,EAAE,oBAAoB,GAAGA,EAAE,eAAe,GAAGA,EAAE,gBAAgB,CAAC;AAAA,YAAA;AAAA,UAAA;AAAA,QAC1E,EAAA,CACF;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -9,8 +9,8 @@ import { useBase as B } from "../../Base/useBase.js";
|
|
|
9
9
|
import { Flex as r } from "../../Common/Flex/Flex.js";
|
|
10
10
|
import { ActionsLayout as u } from "../../Common/ActionsLayout/ActionsLayout.js";
|
|
11
11
|
import { RequirementsList as P } from "../../Common/RequirementsList/RequirementsList.js";
|
|
12
|
-
import { useComponentContext as
|
|
13
|
-
import { useI18n as
|
|
12
|
+
import { useComponentContext as w } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
13
|
+
import { useI18n as R, useComponentDictionary as G } from "../../../i18n/I18n.js";
|
|
14
14
|
import { EmployeeOnboardingStatus as f, EmployeeSelfOnboardingStatuses as F, componentEvents as g } from "../../../shared/constants.js";
|
|
15
15
|
import { useFlow as M } from "../../Flow/useFlow.js";
|
|
16
16
|
const q = [
|
|
@@ -29,32 +29,32 @@ function j(t) {
|
|
|
29
29
|
return /* @__PURE__ */ e(T, { ...t, children: /* @__PURE__ */ e(k, { ...t, children: t.children }) });
|
|
30
30
|
}
|
|
31
31
|
const k = ({ employeeId: t, className: l, isAdmin: m = !1, dictionary: c }) => {
|
|
32
|
-
|
|
33
|
-
const { onEvent: p } = B(), { t: n } = I("Employee.OnboardingSummary"),
|
|
34
|
-
data: {
|
|
35
|
-
} = A({ employeeId: t }), { firstName: h, lastName:
|
|
32
|
+
R("Employee.OnboardingSummary"), G("Employee.OnboardingSummary", c);
|
|
33
|
+
const { onEvent: p } = B(), { t: n } = I("Employee.OnboardingSummary"), o = w(), {
|
|
34
|
+
data: { employeeShow: b }
|
|
35
|
+
} = A({ employeeId: t }), { firstName: h, lastName: S } = b, { data: N } = L({ employeeId: t }), { onboardingStatus: s, onboardingSteps: d } = N.employeeOnboardingStatus, C = d?.length && d.findIndex((i) => i.required && !i.completed) > -1, E = s === f.ONBOARDING_COMPLETED || !C && s === f.SELF_ONBOARDING_PENDING_INVITE, _ = s === f.SELF_ONBOARDING_PENDING_INVITE || s !== void 0 && F.has(s), O = D(() => x.sanitize(h), [h]), y = D(() => x.sanitize(S), [S]);
|
|
36
36
|
return /* @__PURE__ */ e("section", { className: l, children: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 20, children: [
|
|
37
|
-
/* @__PURE__ */ e(r, { alignItems: "center", flexDirection: "column", gap: 8, children: m ?
|
|
38
|
-
/* @__PURE__ */ e(
|
|
37
|
+
/* @__PURE__ */ e(r, { alignItems: "center", flexDirection: "column", gap: 8, children: m ? E ? /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
|
|
38
|
+
/* @__PURE__ */ e(o.Heading, { as: "h2", textAlign: "center", children: n("onboardedAdminSubtitle", {
|
|
39
39
|
name: `${O} ${y}`,
|
|
40
40
|
interpolation: { escapeValue: !1 }
|
|
41
41
|
}) }),
|
|
42
|
-
/* @__PURE__ */ e(
|
|
42
|
+
/* @__PURE__ */ e(o.Text, { variant: "supporting", children: n("onboardedAdminDescription") })
|
|
43
43
|
] }) : _ ? /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
|
|
44
|
-
/* @__PURE__ */ e(
|
|
44
|
+
/* @__PURE__ */ e(o.Heading, { as: "h2", textAlign: "center", children: n("handedOffAdminSubtitle", {
|
|
45
45
|
name: `${O} ${y}`,
|
|
46
46
|
interpolation: { escapeValue: !1 }
|
|
47
47
|
}) }),
|
|
48
|
-
/* @__PURE__ */ e(
|
|
48
|
+
/* @__PURE__ */ e(o.Text, { variant: "supporting", children: n("handedOffAdminDescription") })
|
|
49
49
|
] }) : /* @__PURE__ */ e(
|
|
50
|
-
|
|
50
|
+
o.Box,
|
|
51
51
|
{
|
|
52
52
|
header: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, children: [
|
|
53
|
-
/* @__PURE__ */ e(
|
|
54
|
-
/* @__PURE__ */ e(
|
|
53
|
+
/* @__PURE__ */ e(o.Heading, { as: "h2", children: n("missingRequirementsSubtitle") }),
|
|
54
|
+
/* @__PURE__ */ e(o.Text, { variant: "supporting", children: n("missingRequirementsDescription") })
|
|
55
55
|
] }),
|
|
56
56
|
footer: /* @__PURE__ */ e(u, { children: /* @__PURE__ */ e(
|
|
57
|
-
|
|
57
|
+
o.Button,
|
|
58
58
|
{
|
|
59
59
|
variant: "secondary",
|
|
60
60
|
onClick: () => {
|
|
@@ -67,22 +67,22 @@ const k = ({ employeeId: t, className: l, isAdmin: m = !1, dictionary: c }) => {
|
|
|
67
67
|
P,
|
|
68
68
|
{
|
|
69
69
|
requirements: d.filter(
|
|
70
|
-
(
|
|
71
|
-
).map((
|
|
72
|
-
completed:
|
|
73
|
-
title: n(`steps.${
|
|
74
|
-
description: n(`stepsDescriptions.${
|
|
70
|
+
(i) => i.completed !== void 0 && $(i.id)
|
|
71
|
+
).map((i) => ({
|
|
72
|
+
completed: i.completed,
|
|
73
|
+
title: n(`steps.${i.id}`),
|
|
74
|
+
description: n(`stepsDescriptions.${i.id}`)
|
|
75
75
|
}))
|
|
76
76
|
}
|
|
77
77
|
)
|
|
78
78
|
}
|
|
79
79
|
) : /* @__PURE__ */ e(v, { children: /* @__PURE__ */ a(r, { flexDirection: "column", gap: 20, alignItems: "center", children: [
|
|
80
80
|
/* @__PURE__ */ a(r, { flexDirection: "column", gap: 4, alignItems: "center", children: [
|
|
81
|
-
/* @__PURE__ */ e(
|
|
82
|
-
/* @__PURE__ */ e(
|
|
81
|
+
/* @__PURE__ */ e(o.Heading, { as: "h2", textAlign: "center", children: n("onboardedSelfSubtitle") }),
|
|
82
|
+
/* @__PURE__ */ e(o.Text, { variant: "supporting", children: n("onboardedSelfDescription") })
|
|
83
83
|
] }),
|
|
84
84
|
/* @__PURE__ */ e(u, { justifyContent: "center", children: /* @__PURE__ */ e(
|
|
85
|
-
|
|
85
|
+
o.Button,
|
|
86
86
|
{
|
|
87
87
|
variant: "secondary",
|
|
88
88
|
onClick: () => {
|
|
@@ -92,8 +92,8 @@ const k = ({ employeeId: t, className: l, isAdmin: m = !1, dictionary: c }) => {
|
|
|
92
92
|
}
|
|
93
93
|
) })
|
|
94
94
|
] }) }) }),
|
|
95
|
-
m && (
|
|
96
|
-
|
|
95
|
+
m && (E || _) && /* @__PURE__ */ e(u, { justifyContent: "center", children: /* @__PURE__ */ e(
|
|
96
|
+
o.Button,
|
|
97
97
|
{
|
|
98
98
|
variant: "secondary",
|
|
99
99
|
onClick: () => {
|
|
@@ -103,7 +103,7 @@ const k = ({ employeeId: t, className: l, isAdmin: m = !1, dictionary: c }) => {
|
|
|
103
103
|
}
|
|
104
104
|
) })
|
|
105
105
|
] }) });
|
|
106
|
-
},
|
|
106
|
+
}, ie = () => {
|
|
107
107
|
const { employeeId: t, onEvent: l, isAdmin: m } = M(), { t: c } = I("common");
|
|
108
108
|
if (!t)
|
|
109
109
|
throw new Error(
|
|
@@ -117,6 +117,6 @@ const k = ({ employeeId: t, className: l, isAdmin: m = !1, dictionary: c }) => {
|
|
|
117
117
|
};
|
|
118
118
|
export {
|
|
119
119
|
j as OnboardingSummary,
|
|
120
|
-
|
|
120
|
+
ie as OnboardingSummaryContextual
|
|
121
121
|
};
|
|
122
122
|
//# sourceMappingURL=OnboardingSummary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Employee/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeesGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/employeesGetOnboardingStatus'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { RequirementsList } from '@/components/Common/RequirementsList/RequirementsList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst KNOWN_STEP_IDS = [\n 'personal_details',\n 'compensation_details',\n 'add_work_address',\n 'add_home_address',\n 'federal_tax_setup',\n 'state_tax_setup',\n 'direct_deposit_setup',\n 'employee_form_signing',\n 'file_new_hire_report',\n 'admin_review',\n] as const\n\ntype KnownStepId = (typeof KNOWN_STEP_IDS)[number]\n\nconst isKnownStepId = (id: string | undefined): id is KnownStepId =>\n id !== undefined && (KNOWN_STEP_IDS as readonly string[]).includes(id)\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Employee.OnboardingSummary'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, renders the admin-facing view of the onboarding summary. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Displays a summary of an employee's onboarding status, listing completed and\n * outstanding steps. Rendered as a standalone step inside `OnboardingFlow`.\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, isAdmin = false, dictionary }: OnboardingSummaryProps) => {\n useI18n('Employee.OnboardingSummary')\n useComponentDictionary('Employee.OnboardingSummary', dictionary)\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.OnboardingSummary')\n const Components = useComponentContext()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const { firstName, lastName } = employee!\n\n const { data } = useEmployeesGetOnboardingStatusSuspense({ employeeId })\n const { onboardingStatus, onboardingSteps } = data.employeeOnboardingStatus!\n\n const hasMissingRequirements =\n onboardingSteps?.length &&\n onboardingSteps.findIndex(step => step.required && !step.completed) > -1\n\n const isOnboardingCompleted =\n onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (!hasMissingRequirements &&\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n\n const isEmployeeCompletingSelfOnboarding =\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n (onboardingStatus !== undefined && EmployeeSelfOnboardingStatuses.has(onboardingStatus))\n\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(firstName), [firstName])\n const sanitizedLastName = useMemo(() => DOMPurify.sanitize(lastName), [lastName])\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n {isAdmin ? (\n isOnboardingCompleted ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedAdminDescription')}\n </Components.Text>\n </Flex>\n ) : isEmployeeCompletingSelfOnboarding ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('handedOffAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('handedOffAdminDescription')}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Box\n header={\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('missingRequirementsSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('missingRequirementsDescription')}\n </Components.Text>\n </Flex>\n }\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n }\n >\n {onboardingSteps && (\n <RequirementsList\n requirements={onboardingSteps\n .filter(\n (step): step is typeof step & { id: KnownStepId; completed: boolean } =>\n step.completed !== undefined && isKnownStepId(step.id),\n )\n .map(step => ({\n completed: step.completed,\n title: t(`steps.${step.id}`),\n description: t(`stepsDescriptions.${step.id}`),\n }))}\n />\n )}\n </Components.Box>\n )\n ) : (\n <>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedSelfSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedSelfDescription')}\n </Components.Text>\n </Flex>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </>\n )}\n </Flex>\n\n {isAdmin && (isOnboardingCompleted || isEmployeeCompletingSelfOnboarding) && (\n <ActionsLayout justifyContent={'center'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n )\n}\n\n/** @internal */\nexport const OnboardingSummaryContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Summary',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <OnboardingSummary employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin} />\n}\n"],"names":["KNOWN_STEP_IDS","isKnownStepId","id","OnboardingSummary","props","jsx","BaseComponent","Root","employeeId","className","isAdmin","dictionary","useI18n","useComponentDictionary","onEvent","useBase","t","useTranslation","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","lastName","data","useEmployeesGetOnboardingStatusSuspense","onboardingStatus","onboardingSteps","hasMissingRequirements","step","isOnboardingCompleted","EmployeeOnboardingStatus","isEmployeeCompletingSelfOnboarding","EmployeeSelfOnboardingStatuses","sanitizedFirstName","useMemo","DOMPurify","sanitizedLastName","jsxs","Flex","ActionsLayout","componentEvents","RequirementsList","OnboardingSummaryContextual","useFlow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OnboardingSummary.js","sources":["../../../../src/components/Employee/OnboardingSummary/OnboardingSummary.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeesGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/employeesGetOnboardingStatus'\nimport DOMPurify from 'dompurify'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { Flex, ActionsLayout } from '@/components/Common'\nimport { RequirementsList } from '@/components/Common/RequirementsList/RequirementsList'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst KNOWN_STEP_IDS = [\n 'personal_details',\n 'compensation_details',\n 'add_work_address',\n 'add_home_address',\n 'federal_tax_setup',\n 'state_tax_setup',\n 'direct_deposit_setup',\n 'employee_form_signing',\n 'file_new_hire_report',\n 'admin_review',\n] as const\n\ntype KnownStepId = (typeof KNOWN_STEP_IDS)[number]\n\nconst isKnownStepId = (id: string | undefined): id is KnownStepId =>\n id !== undefined && (KNOWN_STEP_IDS as readonly string[]).includes(id)\n\n/**\n * Props for {@link OnboardingSummary}.\n *\n * @public\n */\nexport interface OnboardingSummaryProps extends BaseComponentInterface<'Employee.OnboardingSummary'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, renders the admin-facing view of the onboarding summary. Defaults to `false`. */\n isAdmin?: boolean\n}\n\n/**\n * Displays a summary of an employee's onboarding status, listing completed and\n * outstanding steps. Rendered as a standalone step inside `OnboardingFlow`.\n *\n * @public\n */\nexport function OnboardingSummary(props: OnboardingSummaryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, className, isAdmin = false, dictionary }: OnboardingSummaryProps) => {\n useI18n('Employee.OnboardingSummary')\n useComponentDictionary('Employee.OnboardingSummary', dictionary)\n const { onEvent } = useBase()\n const { t } = useTranslation('Employee.OnboardingSummary')\n const Components = useComponentContext()\n\n const {\n data: { employeeShow: employee },\n } = useEmployeesGetSuspense({ employeeId })\n const { firstName, lastName } = employee!\n\n const { data } = useEmployeesGetOnboardingStatusSuspense({ employeeId })\n const { onboardingStatus, onboardingSteps } = data.employeeOnboardingStatus!\n\n const hasMissingRequirements =\n onboardingSteps?.length &&\n onboardingSteps.findIndex(step => step.required && !step.completed) > -1\n\n const isOnboardingCompleted =\n onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (!hasMissingRequirements &&\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE)\n\n const isEmployeeCompletingSelfOnboarding =\n onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE ||\n (onboardingStatus !== undefined && EmployeeSelfOnboardingStatuses.has(onboardingStatus))\n\n const sanitizedFirstName = useMemo(() => DOMPurify.sanitize(firstName), [firstName])\n const sanitizedLastName = useMemo(() => DOMPurify.sanitize(lastName), [lastName])\n\n return (\n <section className={className}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex alignItems=\"center\" flexDirection=\"column\" gap={8}>\n {isAdmin ? (\n isOnboardingCompleted ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedAdminDescription')}\n </Components.Text>\n </Flex>\n ) : isEmployeeCompletingSelfOnboarding ? (\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('handedOffAdminSubtitle', {\n name: `${sanitizedFirstName} ${sanitizedLastName}`,\n interpolation: { escapeValue: false },\n })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('handedOffAdminDescription')}\n </Components.Text>\n </Flex>\n ) : (\n <Components.Box\n header={\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {t('missingRequirementsSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('missingRequirementsDescription')}\n </Components.Text>\n </Flex>\n }\n footer={\n <ActionsLayout>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n }\n >\n {onboardingSteps && (\n <RequirementsList\n requirements={onboardingSteps\n .filter(\n (step): step is typeof step & { id: KnownStepId; completed: boolean } =>\n step.completed !== undefined && isKnownStepId(step.id),\n )\n .map(step => ({\n completed: step.completed,\n title: t(`steps.${step.id}`),\n description: t(`stepsDescriptions.${step.id}`),\n }))}\n />\n )}\n </Components.Box>\n )\n ) : (\n <>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"center\">\n <Flex flexDirection=\"column\" gap={4} alignItems=\"center\">\n <Components.Heading as=\"h2\" textAlign=\"center\">\n {t('onboardedSelfSubtitle')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('onboardedSelfDescription')}\n </Components.Text>\n </Flex>\n <ActionsLayout justifyContent=\"center\">\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DONE)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </>\n )}\n </Flex>\n\n {isAdmin && (isOnboardingCompleted || isEmployeeCompletingSelfOnboarding) && (\n <ActionsLayout justifyContent={'center'}>\n <Components.Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEES_LIST)\n }}\n >\n {t('doneCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </section>\n )\n}\n\n/** @internal */\nexport const OnboardingSummaryContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation('common')\n\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'Summary',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <OnboardingSummary employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin} />\n}\n"],"names":["KNOWN_STEP_IDS","isKnownStepId","id","OnboardingSummary","props","jsx","BaseComponent","Root","employeeId","className","isAdmin","dictionary","useI18n","useComponentDictionary","onEvent","useBase","t","useTranslation","Components","useComponentContext","employee","useEmployeesGetSuspense","firstName","lastName","data","useEmployeesGetOnboardingStatusSuspense","onboardingStatus","onboardingSteps","hasMissingRequirements","step","isOnboardingCompleted","EmployeeOnboardingStatus","isEmployeeCompletingSelfOnboarding","EmployeeSelfOnboardingStatuses","sanitizedFirstName","useMemo","DOMPurify","sanitizedLastName","jsxs","Flex","ActionsLayout","componentEvents","RequirementsList","OnboardingSummaryContextual","useFlow"],"mappings":"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"}
|