@gusto/embedded-react-sdk 0.57.2 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +108 -0
- package/dist/components/Common/DataView/DataCards/DataCards.js +98 -66
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +11 -9
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +86 -75
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/DataView/DataView.js.map +1 -1
- package/dist/components/Common/DataView/getSortControls.js +22 -0
- package/dist/components/Common/DataView/getSortControls.js.map +1 -0
- package/dist/components/Common/DataView/useDataView.js +30 -24
- package/dist/components/Common/DataView/useDataView.js.map +1 -1
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +32 -32
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
- package/dist/components/Common/UI/Table/Table.js +65 -25
- package/dist/components/Common/UI/Table/Table.js.map +1 -1
- package/dist/components/Common/UI/Table/Table.module.scss.js +8 -4
- package/dist/components/Common/UI/Table/Table.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +6 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +3 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +30 -45
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js +11 -12
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +34 -14
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js +106 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js +136 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +38 -20
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +78 -44
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +45 -37
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +244 -95
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js +22 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js +13 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +48 -43
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js +57 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js +83 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js +84 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleManagementComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +109 -39
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/payScheduleManagementStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +78 -83
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +3 -4
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +5 -5
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js +1 -1
- package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationEditForm.js +45 -54
- package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js +4 -4
- package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +17 -22
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -1
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js +3 -3
- package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +1 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +122 -113
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js +63 -54
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +20 -20
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js +10 -10
- package/dist/components/Contractor/Dismissal/useDismissal/useDismissal.js.map +1 -1
- package/dist/components/Contractor/Landing/Landing.js +43 -39
- package/dist/components/Contractor/Landing/Landing.js.map +1 -1
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +3 -3
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js +39 -48
- package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +10 -10
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +4 -4
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +8 -8
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +5 -5
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +3 -3
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js +76 -69
- package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js +1 -1
- package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +27 -29
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +15 -13
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js.map +1 -1
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js +2 -9
- package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +18 -18
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +6 -6
- package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -1
- package/dist/components/Contractor/shared/hourlyRate.js +14 -0
- package/dist/components/Contractor/shared/hourlyRate.js.map +1 -0
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +63 -63
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +25 -25
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js +15 -15
- package/dist/components/Employee/Compensation/shared/useCompensationManagement/useCompensationManagement.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +25 -25
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +7 -7
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js +6 -6
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.js +37 -33
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +27 -27
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +65 -74
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js +6 -6
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +8 -15
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +11 -11
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +12 -12
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js +26 -26
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +16 -16
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +84 -82
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js +8 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.js.map +1 -0
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +97 -92
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +18 -18
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +146 -134
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js +14 -12
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.module.scss.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +34 -33
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +49 -48
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +0 -4
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js +51 -38
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +121 -102
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +6 -6
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +79 -74
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +9 -9
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +92 -83
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +23 -27
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +82 -75
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js +416 -0
- package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.js.map +1 -0
- package/dist/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js → RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js} +1 -1
- package/dist/components/Payroll/RropPayrollEditEmployee/RropPayrollEditEmployee.module.scss.js.map +1 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js +97 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfiguration.js.map +1 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js +106 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.js.map +1 -0
- package/dist/components/Payroll/{TransitionCreation/TransitionCreationPresentation.module.scss.js → TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js} +1 -1
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.module.scss.js.map +1 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js +10 -0
- package/dist/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.js.map +1 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +86 -64
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +126 -77
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js +8 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.module.scss.js.map +1 -0
- package/dist/components/Payroll/helpers.js +1 -1
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/index.js +16 -20
- package/dist/components/Payroll/index.js.map +1 -1
- package/dist/components/Payroll/payrollTypes.js +1 -1
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +2 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js +11 -14
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +18 -17
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js +31 -0
- package/dist/contexts/ApiProvider/payScheduleCustomNameHook.js.map +1 -0
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -1
- package/dist/contexts/FeaturesProvider/FeaturesProvider.js +14 -0
- package/dist/contexts/FeaturesProvider/FeaturesProvider.js.map +1 -0
- package/dist/contexts/FeaturesProvider/useFeature.js +7 -0
- package/dist/contexts/FeaturesProvider/useFeature.js.map +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +32 -30
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/i18n/I18n.js +2 -3
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.Management.PaySchedule.json.js +31 -13
- package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +20 -12
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Profile.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +29 -23
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollLanding.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
- package/dist/i18n/en/{Payroll.UNSTABLE_PayrollEditEmployee.json.js → Payroll.RropPayrollEditEmployee.json.js} +42 -38
- package/dist/i18n/en/Payroll.RropPayrollEditEmployee.json.js.map +1 -0
- package/dist/i18n/en/Payroll.TransitionConfiguration.json.js +28 -0
- package/dist/i18n/en/Payroll.TransitionConfiguration.json.js.map +1 -0
- package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +16 -12
- package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js.map +1 -1
- package/dist/i18n/en/common.json.js +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.js +55 -48
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +31 -29
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/shared/constants.js +7 -6
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Common/DataView/DataCards/DataCards.d.ts +3 -1
- package/dist/src/components/Common/DataView/DataTable/DataTable.d.ts +3 -1
- package/dist/src/components/Common/DataView/DataView.d.ts +2 -0
- package/dist/src/components/Common/DataView/getSortControls.d.ts +24 -0
- package/dist/src/components/Common/DataView/useDataView.d.ts +22 -1
- package/dist/src/components/Common/DateRangeFilter/DateRangeFilter.d.ts +2 -2
- package/dist/src/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
- package/dist/src/components/Common/UI/Table/TableTypes.d.ts +71 -2
- package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +1 -9
- package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +0 -1
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/AutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/AutoPilotDialog/useAutoPilotDialog.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +10 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentDepartmentStepPresentation.d.ts +21 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentEmployeeStepPresentation.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.d.ts +9 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +5 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +10 -10
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +12 -4
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/departmentAccess.d.ts +19 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/employeeJob.d.ts +17 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/useAssignableEmployees.d.ts +34 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +16 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleDepartmentOverviewPresentation.d.ts +23 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleEmployeeOverviewPresentation.d.ts +25 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleManagementComponents.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +4 -15
- package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +2 -2
- package/dist/src/components/Contractor/ContractorList/shared/index.d.ts +1 -1
- package/dist/src/components/Contractor/ContractorList/shared/useContractorList.d.ts +38 -0
- package/dist/src/components/Contractor/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Contractor/shared/hourlyRate.d.ts +23 -0
- package/dist/src/components/Employee/Landing/Landing.d.ts +5 -2
- package/dist/src/components/Payroll/OffCycleTaxWithholdingTable/getDefaultWithholdingPayPeriod.d.ts +9 -0
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +2 -0
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +8 -6
- package/dist/src/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +0 -8
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +5 -3
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -3
- package/dist/src/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +18 -5
- package/dist/src/components/Payroll/PayrollList/PayrollList.d.ts +11 -5
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/{UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts → RropPayrollEditEmployee/RropPayrollEditEmployee.d.ts} +9 -5
- package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfiguration.d.ts +55 -0
- package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationPresentation.d.ts +9 -0
- package/dist/src/components/Payroll/TransitionConfiguration/TransitionConfigurationTypes.d.ts +52 -0
- package/dist/src/components/Payroll/TransitionConfiguration/index.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -2
- package/dist/src/components/Payroll/helpers.d.ts +2 -2
- package/dist/src/components/Payroll/index.d.ts +2 -6
- package/dist/src/components/Payroll/usePreparedPayrollData.d.ts +2 -2
- package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.d.ts +14 -0
- package/dist/src/contexts/ApiProvider/payScheduleCustomNameHook.test.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -1
- package/dist/src/contexts/FeaturesProvider/FeaturesProvider.d.ts +21 -0
- package/dist/src/contexts/FeaturesProvider/useFeature.d.ts +53 -0
- package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +3 -0
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +38 -10
- package/dist/src/contexts/index.d.ts +1 -0
- package/dist/src/i18n/en/common.json.d.ts +5 -1
- package/dist/src/i18n/types.d.ts +195 -70
- package/dist/src/models/external.d.ts +63 -48
- package/dist/src/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +9 -7
- package/dist/src/shared/constants.d.ts +5 -3
- package/dist/src/test-utils/renderWithProviders.d.ts +2 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +57 -40
- package/package.json +23 -22
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +0 -29
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +0 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js +0 -60
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +0 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +0 -31
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +0 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.js +0 -49
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +0 -100
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +0 -110
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js.map +0 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +0 -21
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js +0 -48
- package/dist/components/Payroll/TransitionPayroll/TransitionPayroll.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js +0 -35
- package/dist/components/Payroll/TransitionPayroll/TransitionPayrollComponents.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js +0 -23
- package/dist/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.js.map +0 -1
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +0 -29
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +0 -411
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +0 -1
- package/dist/i18n/en/Payroll.Transition.json.js +0 -8
- package/dist/i18n/en/Payroll.Transition.json.js.map +0 -1
- package/dist/i18n/en/Payroll.TransitionCreation.json.js +0 -26
- package/dist/i18n/en/Payroll.TransitionCreation.json.js.map +0 -1
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +0 -1
- package/dist/src/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +0 -7
- package/dist/src/components/Payroll/Transition/TransitionFlow.d.ts +0 -55
- package/dist/src/components/Payroll/Transition/TransitionFlowComponents.d.ts +0 -52
- package/dist/src/components/Payroll/Transition/index.d.ts +0 -2
- package/dist/src/components/Payroll/Transition/transitionStateMachine.d.ts +0 -29
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreation.d.ts +0 -22
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +0 -9
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +0 -57
- package/dist/src/components/Payroll/TransitionCreation/index.d.ts +0 -2
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayroll.d.ts +0 -55
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollComponents.d.ts +0 -24
- package/dist/src/components/Payroll/TransitionPayroll/TransitionPayrollTypes.d.ts +0 -23
- package/dist/src/components/Payroll/TransitionPayroll/index.d.ts +0 -2
- package/dist/src/components/Payroll/TransitionPayroll/transitionPayrollStateMachine.d.ts +0 -15
- package/dist/src/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.d.ts +0 -28
- /package/dist/src/components/{Payroll/Transition/transitionStateMachine.test.d.ts → Common/DataView/getSortControls.test.d.ts} +0 -0
|
@@ -7,20 +7,20 @@ import { JobAndPayView as C } from "./JobAndPayView.js";
|
|
|
7
7
|
import { TaxesViewWithData as E } from "./TaxesView.js";
|
|
8
8
|
import { Flex as l } from "../../Common/Flex/Flex.js";
|
|
9
9
|
import { useComponentContext as b } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
|
-
import { BaseBoundaries as
|
|
11
|
-
import { useI18n as
|
|
12
|
-
import { componentEvents as
|
|
13
|
-
import { firstLastName as
|
|
10
|
+
import { BaseBoundaries as S } from "../../Base/Base.js";
|
|
11
|
+
import { useI18n as j, useComponentDictionary as B } from "../../../i18n/I18n.js";
|
|
12
|
+
import { componentEvents as N } from "../../../shared/constants.js";
|
|
13
|
+
import { firstLastName as P } from "../../../helpers/formattedStrings.js";
|
|
14
14
|
import { DocumentsCard as _ } from "../Documents/management/DocumentsCard/DocumentsCard.js";
|
|
15
|
-
function
|
|
16
|
-
employeeId:
|
|
17
|
-
dictionary:
|
|
15
|
+
function w({
|
|
16
|
+
employeeId: o,
|
|
17
|
+
dictionary: a,
|
|
18
18
|
onEvent: t,
|
|
19
19
|
selectedTab: r,
|
|
20
20
|
LoaderComponent: p,
|
|
21
21
|
className: d
|
|
22
22
|
}) {
|
|
23
|
-
|
|
23
|
+
j("Employee.Dashboard"), B("Employee.Dashboard", a);
|
|
24
24
|
const { t: n } = c("Employee.Dashboard"), u = b(), [f, D] = y("basicDetails"), s = r ?? f, h = [
|
|
25
25
|
{
|
|
26
26
|
id: "basicDetails",
|
|
@@ -44,7 +44,7 @@ function H({
|
|
|
44
44
|
}
|
|
45
45
|
];
|
|
46
46
|
return /* @__PURE__ */ i(l, { className: d, flexDirection: "column", gap: 32, children: [
|
|
47
|
-
/* @__PURE__ */ e(T, { fallback: null, children: /* @__PURE__ */ e(
|
|
47
|
+
/* @__PURE__ */ e(T, { fallback: null, children: /* @__PURE__ */ e(H, { employeeId: o }) }),
|
|
48
48
|
/* @__PURE__ */ i(l, { flexDirection: "column", gap: 8, children: [
|
|
49
49
|
/* @__PURE__ */ e(
|
|
50
50
|
u.Tabs,
|
|
@@ -53,19 +53,19 @@ function H({
|
|
|
53
53
|
selectedId: s,
|
|
54
54
|
onSelectionChange: (x) => {
|
|
55
55
|
const m = x;
|
|
56
|
-
D(m), t(
|
|
56
|
+
D(m), t(N.EMPLOYEE_DASHBOARD_TAB_CHANGE, { tab: m });
|
|
57
57
|
},
|
|
58
58
|
"aria-label": n("tabsLabel")
|
|
59
59
|
}
|
|
60
60
|
),
|
|
61
61
|
/* @__PURE__ */ i(l, { flexDirection: "column", gap: 24, children: [
|
|
62
|
-
s === "basicDetails" && /* @__PURE__ */ e(g, { employeeId:
|
|
63
|
-
s === "jobAndPay" && /* @__PURE__ */ e(C, { employeeId:
|
|
64
|
-
s === "taxes" && /* @__PURE__ */ e(E, { employeeId:
|
|
62
|
+
s === "basicDetails" && /* @__PURE__ */ e(g, { employeeId: o, onEvent: t }),
|
|
63
|
+
s === "jobAndPay" && /* @__PURE__ */ e(C, { employeeId: o, onEvent: t }),
|
|
64
|
+
s === "taxes" && /* @__PURE__ */ e(E, { employeeId: o, onEvent: t }),
|
|
65
65
|
s === "documents" && /* @__PURE__ */ e(
|
|
66
66
|
_,
|
|
67
67
|
{
|
|
68
|
-
employeeId:
|
|
68
|
+
employeeId: o,
|
|
69
69
|
onEvent: t,
|
|
70
70
|
LoaderComponent: p
|
|
71
71
|
}
|
|
@@ -74,23 +74,23 @@ function H({
|
|
|
74
74
|
] })
|
|
75
75
|
] });
|
|
76
76
|
}
|
|
77
|
-
function
|
|
78
|
-
const { t:
|
|
79
|
-
data: {
|
|
80
|
-
} = A({ employeeId:
|
|
77
|
+
function H({ employeeId: o }) {
|
|
78
|
+
const { t: a } = c("Employee.Dashboard"), t = b(), {
|
|
79
|
+
data: { employeeShow: r }
|
|
80
|
+
} = A({ employeeId: o });
|
|
81
81
|
return /* @__PURE__ */ i(l, { flexDirection: "column", gap: 4, children: [
|
|
82
|
-
/* @__PURE__ */ e(t.Heading, { as: "h2", children:
|
|
83
|
-
/* @__PURE__ */ e(t.Text, { variant: "supporting", children:
|
|
82
|
+
/* @__PURE__ */ e(t.Heading, { as: "h2", children: P({ first_name: r?.firstName, last_name: r?.lastName }) }),
|
|
83
|
+
/* @__PURE__ */ e(t.Text, { variant: "supporting", children: a("employeeRoleLabel") })
|
|
84
84
|
] });
|
|
85
85
|
}
|
|
86
|
-
function Q({ FallbackComponent:
|
|
86
|
+
function Q({ FallbackComponent: o, LoaderComponent: a, ...t }) {
|
|
87
87
|
return /* @__PURE__ */ e(
|
|
88
|
-
|
|
88
|
+
S,
|
|
89
89
|
{
|
|
90
90
|
componentName: "Employee.Dashboard",
|
|
91
|
-
FallbackComponent:
|
|
92
|
-
LoaderComponent:
|
|
93
|
-
children: /* @__PURE__ */ e(
|
|
91
|
+
FallbackComponent: o,
|
|
92
|
+
LoaderComponent: a,
|
|
93
|
+
children: /* @__PURE__ */ e(w, { ...t, LoaderComponent: a })
|
|
94
94
|
}
|
|
95
95
|
);
|
|
96
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sources":["../../../../src/components/Employee/Dashboard/Dashboard.tsx"],"sourcesContent":["import { Suspense, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { BasicDetailsView } from './BasicDetailsView'\nimport { JobAndPayView } from './JobAndPayView'\nimport { TaxesViewWithData } from './TaxesView'\nimport { DocumentsCard } from '@/components/Employee/Documents/management/DocumentsCard'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { BaseBoundaries, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/** @public */\nexport type DashboardTab = 'basicDetails' | 'jobAndPay' | 'taxes' | 'documents'\n\n/** @public */\nexport interface DashboardProps extends BaseComponentInterface<'Employee.Dashboard'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The currently active tab. Defaults to `'basicDetails'` when uncontrolled. */\n selectedTab?: DashboardTab\n}\n\nfunction DashboardRoot({\n employeeId,\n dictionary,\n onEvent,\n selectedTab: controlledTab,\n LoaderComponent,\n className,\n}: DashboardProps) {\n useI18n('Employee.Dashboard')\n useComponentDictionary('Employee.Dashboard', dictionary)\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n const [internalTab, setInternalTab] = useState<DashboardTab>('basicDetails')\n const selectedTab = controlledTab ?? internalTab\n\n const tabs = [\n {\n id: 'basicDetails' as const,\n label: t('tabs.basicDetails'),\n content: null,\n },\n {\n id: 'jobAndPay' as const,\n label: t('tabs.jobAndPay'),\n content: null,\n },\n {\n id: 'taxes' as const,\n label: t('tabs.taxes'),\n content: null,\n },\n {\n id: 'documents' as const,\n label: t('tabs.documents'),\n content: null,\n },\n ]\n\n return (\n <Flex className={className} flexDirection=\"column\" gap={32}>\n <Suspense fallback={null}>\n <DashboardHeader employeeId={employeeId} />\n </Suspense>\n\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Tabs\n tabs={tabs}\n selectedId={selectedTab}\n onSelectionChange={id => {\n const next = id as DashboardTab\n setInternalTab(next)\n onEvent(componentEvents.EMPLOYEE_DASHBOARD_TAB_CHANGE, { tab: next })\n }}\n aria-label={t('tabsLabel')}\n />\n\n <Flex flexDirection=\"column\" gap={24}>\n {selectedTab === 'basicDetails' && (\n <BasicDetailsView employeeId={employeeId} onEvent={onEvent} />\n )}\n\n {selectedTab === 'jobAndPay' && (\n <JobAndPayView employeeId={employeeId} onEvent={onEvent} />\n )}\n\n {selectedTab === 'taxes' && (\n <TaxesViewWithData employeeId={employeeId} onEvent={onEvent} />\n )}\n\n {selectedTab === 'documents' && (\n <DocumentsCard\n employeeId={employeeId}\n onEvent={onEvent}\n LoaderComponent={LoaderComponent}\n />\n )}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nfunction DashboardHeader({ employeeId }: { employeeId: string }) {\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n\n return (\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {firstLastName({ first_name: employee?.firstName, last_name: employee?.lastName })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('employeeRoleLabel')}</Components.Text>\n </Flex>\n )\n}\n\n/**\n * Employee self-service dashboard summarizing a single employee's basic details, job and pay, taxes, and documents.\n *\n * @remarks\n * Renders a tabbed overview of the employee, wrapped in the SDK's standard error and suspense\n * boundaries. The active tab may be controlled via `selectedTab` or left uncontrolled, in which\n * case it defaults to basic details. Each tab composes the read-only section cards listed below.\n *\n * @components\n * - {@link ProfileCard}\n * - {@link HomeAddressCard}\n * - {@link WorkAddressCard}\n * - {@link CompensationCard}\n * - {@link PaymentMethodCard}\n * - {@link DeductionsCard}\n * - {@link PaystubsCard}\n * - {@link FederalTaxesCard}\n * - {@link StateTaxesCard}\n * - {@link DocumentsCard}\n *\n * @param props - Component props. See {@link DashboardProps}.\n * @returns A React element rendering the employee dashboard.\n * @public\n */\nexport function Dashboard({ FallbackComponent, LoaderComponent, ...props }: DashboardProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Dashboard\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <DashboardRoot {...props} LoaderComponent={LoaderComponent} />\n </BaseBoundaries>\n )\n}\n"],"names":["DashboardRoot","employeeId","dictionary","onEvent","controlledTab","LoaderComponent","className","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","internalTab","setInternalTab","useState","selectedTab","tabs","Flex","jsx","Suspense","DashboardHeader","jsxs","id","next","componentEvents","BasicDetailsView","JobAndPayView","TaxesViewWithData","DocumentsCard","employee","useEmployeesGetSuspense","firstLastName","Dashboard","FallbackComponent","props","BaseBoundaries"],"mappings":";;;;;;;;;;;;;;AAyBA,SAASA,EAAc;AAAA,EACrB,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAaC;AAAA,EACb,iBAAAC;AAAA,EACA,WAAAC;AACF,GAAmB;AACjB,EAAAC,EAAQ,oBAAoB,GAC5BC,EAAuB,sBAAsBN,CAAU;AACvD,QAAM,EAAE,GAAAO,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GACb,CAACC,GAAaC,CAAc,IAAIC,EAAuB,cAAc,GACrEC,IAAcZ,KAAiBS,GAE/BI,IAAO;AAAA,IACX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOR,EAAE,mBAAmB;AAAA,MAC5B,SAAS;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOA,EAAE,gBAAgB;AAAA,MACzB,SAAS;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOA,EAAE,YAAY;AAAA,MACrB,SAAS;AAAA,IAAA;AAAA,IAEX;AAAA,MACE,IAAI;AAAA,MACJ,OAAOA,EAAE,gBAAgB;AAAA,MACzB,SAAS;AAAA,IAAA;AAAA,EACX;AAGF,2BACGS,GAAA,EAAK,WAAAZ,GAAsB,eAAc,UAAS,KAAK,IACtD,UAAA;AAAA,IAAA,gBAAAa,EAACC,KAAS,UAAU,MAClB,UAAA,gBAAAD,EAACE,GAAA,EAAgB,YAAApB,GAAwB,GAC3C;AAAA,IAEA,gBAAAqB,EAACJ,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACR,EAAW;AAAA,QAAX;AAAA,UACC,MAAAM;AAAA,UACA,YAAYD;AAAA,UACZ,mBAAmB,CAAAO,MAAM;AACvB,kBAAMC,IAAOD;AACb,YAAAT,EAAeU,CAAI,GACnBrB,EAAQsB,EAAgB,+BAA+B,EAAE,KAAKD,GAAM;AAAA,UACtE;AAAA,UACA,cAAYf,EAAE,WAAW;AAAA,QAAA;AAAA,MAAA;AAAA,MAG3B,gBAAAa,EAACJ,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,QAAAF,MAAgB,kBACf,gBAAAG,EAACO,GAAA,EAAiB,YAAAzB,GAAwB,SAAAE,GAAkB;AAAA,QAG7Da,MAAgB,eACf,gBAAAG,EAACQ,GAAA,EAAc,YAAA1B,GAAwB,SAAAE,GAAkB;AAAA,QAG1Da,MAAgB,WACf,gBAAAG,EAACS,GAAA,EAAkB,YAAA3B,GAAwB,SAAAE,GAAkB;AAAA,QAG9Da,MAAgB,eACf,gBAAAG;AAAA,UAACU;AAAA,UAAA;AAAA,YACC,YAAA5B;AAAA,YACA,SAAAE;AAAA,YACA,iBAAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,EAAA,CAEJ;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;AAEA,SAASgB,EAAgB,EAAE,YAAApB,KAAsC;AAC/D,QAAM,EAAE,GAAAQ,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GACb;AAAA,IACJ,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sources":["../../../../src/components/Employee/Dashboard/Dashboard.tsx"],"sourcesContent":["import { Suspense, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { BasicDetailsView } from './BasicDetailsView'\nimport { JobAndPayView } from './JobAndPayView'\nimport { TaxesViewWithData } from './TaxesView'\nimport { DocumentsCard } from '@/components/Employee/Documents/management/DocumentsCard'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { BaseBoundaries, type BaseComponentInterface } from '@/components/Base/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\n/** @public */\nexport type DashboardTab = 'basicDetails' | 'jobAndPay' | 'taxes' | 'documents'\n\n/** @public */\nexport interface DashboardProps extends BaseComponentInterface<'Employee.Dashboard'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The currently active tab. Defaults to `'basicDetails'` when uncontrolled. */\n selectedTab?: DashboardTab\n}\n\nfunction DashboardRoot({\n employeeId,\n dictionary,\n onEvent,\n selectedTab: controlledTab,\n LoaderComponent,\n className,\n}: DashboardProps) {\n useI18n('Employee.Dashboard')\n useComponentDictionary('Employee.Dashboard', dictionary)\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n const [internalTab, setInternalTab] = useState<DashboardTab>('basicDetails')\n const selectedTab = controlledTab ?? internalTab\n\n const tabs = [\n {\n id: 'basicDetails' as const,\n label: t('tabs.basicDetails'),\n content: null,\n },\n {\n id: 'jobAndPay' as const,\n label: t('tabs.jobAndPay'),\n content: null,\n },\n {\n id: 'taxes' as const,\n label: t('tabs.taxes'),\n content: null,\n },\n {\n id: 'documents' as const,\n label: t('tabs.documents'),\n content: null,\n },\n ]\n\n return (\n <Flex className={className} flexDirection=\"column\" gap={32}>\n <Suspense fallback={null}>\n <DashboardHeader employeeId={employeeId} />\n </Suspense>\n\n <Flex flexDirection=\"column\" gap={8}>\n <Components.Tabs\n tabs={tabs}\n selectedId={selectedTab}\n onSelectionChange={id => {\n const next = id as DashboardTab\n setInternalTab(next)\n onEvent(componentEvents.EMPLOYEE_DASHBOARD_TAB_CHANGE, { tab: next })\n }}\n aria-label={t('tabsLabel')}\n />\n\n <Flex flexDirection=\"column\" gap={24}>\n {selectedTab === 'basicDetails' && (\n <BasicDetailsView employeeId={employeeId} onEvent={onEvent} />\n )}\n\n {selectedTab === 'jobAndPay' && (\n <JobAndPayView employeeId={employeeId} onEvent={onEvent} />\n )}\n\n {selectedTab === 'taxes' && (\n <TaxesViewWithData employeeId={employeeId} onEvent={onEvent} />\n )}\n\n {selectedTab === 'documents' && (\n <DocumentsCard\n employeeId={employeeId}\n onEvent={onEvent}\n LoaderComponent={LoaderComponent}\n />\n )}\n </Flex>\n </Flex>\n </Flex>\n )\n}\n\nfunction DashboardHeader({ employeeId }: { employeeId: string }) {\n const { t } = useTranslation('Employee.Dashboard')\n const Components = useComponentContext()\n const {\n data: { employeeShow: employee },\n } = useEmployeesGetSuspense({ employeeId })\n\n return (\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">\n {firstLastName({ first_name: employee?.firstName, last_name: employee?.lastName })}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('employeeRoleLabel')}</Components.Text>\n </Flex>\n )\n}\n\n/**\n * Employee self-service dashboard summarizing a single employee's basic details, job and pay, taxes, and documents.\n *\n * @remarks\n * Renders a tabbed overview of the employee, wrapped in the SDK's standard error and suspense\n * boundaries. The active tab may be controlled via `selectedTab` or left uncontrolled, in which\n * case it defaults to basic details. Each tab composes the read-only section cards listed below.\n *\n * @components\n * - {@link ProfileCard}\n * - {@link HomeAddressCard}\n * - {@link WorkAddressCard}\n * - {@link CompensationCard}\n * - {@link PaymentMethodCard}\n * - {@link DeductionsCard}\n * - {@link PaystubsCard}\n * - {@link FederalTaxesCard}\n * - {@link StateTaxesCard}\n * - {@link DocumentsCard}\n *\n * @param props - Component props. See {@link DashboardProps}.\n * @returns A React element rendering the employee dashboard.\n * @public\n */\nexport function Dashboard({ FallbackComponent, LoaderComponent, ...props }: DashboardProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Dashboard\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <DashboardRoot {...props} LoaderComponent={LoaderComponent} />\n </BaseBoundaries>\n )\n}\n"],"names":["DashboardRoot","employeeId","dictionary","onEvent","controlledTab","LoaderComponent","className","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","internalTab","setInternalTab","useState","selectedTab","tabs","Flex","jsx","Suspense","DashboardHeader","jsxs","id","next","componentEvents","BasicDetailsView","JobAndPayView","TaxesViewWithData","DocumentsCard","employee","useEmployeesGetSuspense","firstLastName","Dashboard","FallbackComponent","props","BaseBoundaries"],"mappings":"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"}
|
package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js
CHANGED
|
@@ -11,11 +11,10 @@ import "@gusto/embedded-api/models/errors/unprocessableentityerror";
|
|
|
11
11
|
import "@gusto/embedded-api/models/errors/httpclienterrors";
|
|
12
12
|
import "../../../../../../shared/constants.js";
|
|
13
13
|
import "../../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
14
|
-
import "../../../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
15
14
|
import { createCompoundContext as t } from "../../../../../Base/createCompoundContext.js";
|
|
16
|
-
const [
|
|
15
|
+
const [d, a] = t("DocumentListContext");
|
|
17
16
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
a as DocumentListProvider,
|
|
18
|
+
d as useDocumentList
|
|
20
19
|
};
|
|
21
20
|
//# sourceMappingURL=useDocumentList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;AAYA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
|
|
@@ -3,9 +3,9 @@ import { createMachine as f } from "robot3";
|
|
|
3
3
|
import { useMemo as l } from "react";
|
|
4
4
|
import { useEmployeesGetSuspense as g } from "@gusto/embedded-api/react-query/employeesGet";
|
|
5
5
|
import { useEmployeeFormsListSuspense as D } from "@gusto/embedded-api/react-query/employeeFormsList";
|
|
6
|
-
import { EmploymentEligibilityContextual as
|
|
7
|
-
import { documentSignerMachine as
|
|
8
|
-
import { Flow as
|
|
6
|
+
import { EmploymentEligibilityContextual as S, DocumentListContextual as d } from "./documentSignerStateMachine.js";
|
|
7
|
+
import { documentSignerMachine as y } from "./stateMachine.js";
|
|
8
|
+
import { Flow as E } from "../../../../Flow/Flow.js";
|
|
9
9
|
import { BaseComponent as x } from "../../../../Base/Base.js";
|
|
10
10
|
import "../../../../Base/useBase.js";
|
|
11
11
|
import { useComponentDictionary as C } from "../../../../../i18n/I18n.js";
|
|
@@ -15,20 +15,20 @@ function O(o) {
|
|
|
15
15
|
}
|
|
16
16
|
function M({ employeeId: o, onEvent: i, dictionary: s, withEmployeeI9: t = !1 }) {
|
|
17
17
|
C("Employee.DocumentSigner", s);
|
|
18
|
-
const { data: a } = g({ employeeId: o }), { data: c } = D({ employeeId: o }), u = a.
|
|
18
|
+
const { data: a } = g({ employeeId: o }), { data: c } = D({ employeeId: o }), u = a.employeeShow?.onboardingDocumentsConfig?.i9Document === !0, m = c.forms?.find((e) => e.name === F), r = t && u && (!m || m.requiresSigning === !0), p = l(
|
|
19
19
|
() => f(
|
|
20
20
|
r ? "employmentEligibility" : "index",
|
|
21
|
-
|
|
21
|
+
y,
|
|
22
22
|
(e) => ({
|
|
23
23
|
...e,
|
|
24
|
-
component: r ?
|
|
24
|
+
component: r ? S : d,
|
|
25
25
|
employeeId: o,
|
|
26
26
|
withEmployeeI9: t
|
|
27
27
|
})
|
|
28
28
|
),
|
|
29
29
|
[o, t]
|
|
30
30
|
);
|
|
31
|
-
return /* @__PURE__ */ n(
|
|
31
|
+
return /* @__PURE__ */ n(E, { machine: p, onEvent: i });
|
|
32
32
|
}
|
|
33
33
|
export {
|
|
34
34
|
O as DocumentSigner
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentSigner.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeeFormsListSuspense } from '@gusto/embedded-api/react-query/employeeFormsList'\nimport {\n DocumentListContextual,\n EmploymentEligibilityContextual,\n type DocumentSignerContextInterface,\n} from './documentSignerStateMachine'\nimport { documentSignerMachine } from './stateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { I9_FORM_NAME } from '@/shared/constants'\n\n/**\n * Props for {@link DocumentSigner}.\n *\n * @public\n */\nexport interface DocumentSignerProps extends BaseComponentInterface<'Employee.DocumentSigner'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, the flow routes through I-9 employment eligibility before listing documents for signing. Defaults to `false`. */\n withEmployeeI9?: boolean\n}\n\n/**\n * Onboarding step for signing employee documents.\n *\n * @remarks\n * Lists the employee's pending forms and routes through the signing UI for each\n * one. When `withEmployeeI9` is `true` and the employee's I-9 has not been\n * signed, the flow starts on the I-9 employment eligibility step before\n * presenting the document list.\n *\n * Each form's description is rendered as returned by the API, unless the `dictionary` prop\n * supplies a `forms.<name>.description` override for that form's `name` (e.g.\n * `forms.employee_direct_deposit.description`).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/employmentEligibility/done` | Fired after I-9 employment eligibility is captured | The updated I-9 authorization |\n * | `employee/forms/view` | Fired when a form's \"Sign\" action is selected from the document list | `{ uuid: string; name?: string }` |\n * | `employee/forms/sign` | Fired after a form is successfully signed | {@link APIModels.Form} |\n * | `employee/employmentEligibility/change` | Fired when the user requests to change their I-9 eligibility status | — |\n * | `employee/forms/done` | Fired when all required forms have been signed and the parent flow can advance | — |\n * | `cancel` | Fired when the user cancels signing a form and returns to the document list | — |\n *\n * @components\n * - {@link EmploymentEligibility}\n * - {@link I9SignatureForm}\n * - {@link DocumentList}\n * - {@link SignatureForm}\n *\n * @param props - See {@link DocumentSignerProps}.\n * @returns The document signer flow.\n * @public\n */\nexport function DocumentSigner(props: DocumentSignerProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, onEvent, dictionary, withEmployeeI9 = false }: DocumentSignerProps) {\n useComponentDictionary('Employee.DocumentSigner', dictionary)\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { data: formsData } = useEmployeeFormsListSuspense({ employeeId })\n\n const employeeHasI9Enabled
|
|
1
|
+
{"version":3,"file":"DocumentSigner.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { useEmployeeFormsListSuspense } from '@gusto/embedded-api/react-query/employeeFormsList'\nimport {\n DocumentListContextual,\n EmploymentEligibilityContextual,\n type DocumentSignerContextInterface,\n} from './documentSignerStateMachine'\nimport { documentSignerMachine } from './stateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { I9_FORM_NAME } from '@/shared/constants'\n\n/**\n * Props for {@link DocumentSigner}.\n *\n * @public\n */\nexport interface DocumentSignerProps extends BaseComponentInterface<'Employee.DocumentSigner'> {\n /** The associated employee identifier. */\n employeeId: string\n /** When `true`, the flow routes through I-9 employment eligibility before listing documents for signing. Defaults to `false`. */\n withEmployeeI9?: boolean\n}\n\n/**\n * Onboarding step for signing employee documents.\n *\n * @remarks\n * Lists the employee's pending forms and routes through the signing UI for each\n * one. When `withEmployeeI9` is `true` and the employee's I-9 has not been\n * signed, the flow starts on the I-9 employment eligibility step before\n * presenting the document list.\n *\n * Each form's description is rendered as returned by the API, unless the `dictionary` prop\n * supplies a `forms.<name>.description` override for that form's `name` (e.g.\n * `forms.employee_direct_deposit.description`).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/employmentEligibility/done` | Fired after I-9 employment eligibility is captured | The updated I-9 authorization |\n * | `employee/forms/view` | Fired when a form's \"Sign\" action is selected from the document list | `{ uuid: string; name?: string }` |\n * | `employee/forms/sign` | Fired after a form is successfully signed | {@link APIModels.Form} |\n * | `employee/employmentEligibility/change` | Fired when the user requests to change their I-9 eligibility status | — |\n * | `employee/forms/done` | Fired when all required forms have been signed and the parent flow can advance | — |\n * | `cancel` | Fired when the user cancels signing a form and returns to the document list | — |\n *\n * @components\n * - {@link EmploymentEligibility}\n * - {@link I9SignatureForm}\n * - {@link DocumentList}\n * - {@link SignatureForm}\n *\n * @param props - See {@link DocumentSignerProps}.\n * @returns The document signer flow.\n * @public\n */\nexport function DocumentSigner(props: DocumentSignerProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ employeeId, onEvent, dictionary, withEmployeeI9 = false }: DocumentSignerProps) {\n useComponentDictionary('Employee.DocumentSigner', dictionary)\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { data: formsData } = useEmployeeFormsListSuspense({ employeeId })\n\n const employeeHasI9Enabled =\n employeeData.employeeShow?.onboardingDocumentsConfig?.i9Document === true\n\n const i9Form = formsData.forms?.find(form => form.name === I9_FORM_NAME)\n const needsI9Form =\n withEmployeeI9 && employeeHasI9Enabled && (!i9Form || i9Form.requiresSigning === true)\n\n const machine = useMemo(\n () =>\n createMachine(\n needsI9Form ? 'employmentEligibility' : 'index',\n documentSignerMachine,\n (initialContext: DocumentSignerContextInterface) => ({\n ...initialContext,\n component: needsI9Form ? EmploymentEligibilityContextual : DocumentListContextual,\n employeeId,\n withEmployeeI9,\n }),\n ),\n [employeeId, withEmployeeI9],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n"],"names":["DocumentSigner","props","jsx","BaseComponent","Root","employeeId","onEvent","dictionary","withEmployeeI9","useComponentDictionary","employeeData","useEmployeesGetSuspense","formsData","useEmployeeFormsListSuspense","employeeHasI9Enabled","i9Form","form","I9_FORM_NAME","needsI9Form","machine","useMemo","createMachine","documentSignerMachine","initialContext","EmploymentEligibilityContextual","DocumentListContextual","Flow"],"mappings":";;;;;;;;;;;;AA4DO,SAASA,EAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,GAAY,SAAAC,GAAS,YAAAC,GAAY,gBAAAC,IAAiB,MAA8B;AAC9F,EAAAC,EAAuB,2BAA2BF,CAAU;AAE5D,QAAM,EAAE,MAAMG,EAAA,IAAiBC,EAAwB,EAAE,YAAAN,GAAY,GAC/D,EAAE,MAAMO,EAAA,IAAcC,EAA6B,EAAE,YAAAR,GAAY,GAEjES,IACJJ,EAAa,cAAc,2BAA2B,eAAe,IAEjEK,IAASH,EAAU,OAAO,KAAK,CAAAI,MAAQA,EAAK,SAASC,CAAY,GACjEC,IACJV,KAAkBM,MAAyB,CAACC,KAAUA,EAAO,oBAAoB,KAE7EI,IAAUC;AAAA,IACd,MACEC;AAAA,MACEH,IAAc,0BAA0B;AAAA,MACxCI;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWL,IAAcM,IAAkCC;AAAA,QAC3D,YAAApB;AAAA,QACA,gBAAAG;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACH,GAAYG,CAAc;AAAA,EAAA;AAG7B,SAAO,gBAAAN,EAACwB,GAAA,EAAK,SAAAP,GAAkB,SAAAb,EAAA,CAAkB;AACnD;"}
|
package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js
CHANGED
|
@@ -14,7 +14,7 @@ function P(o) {
|
|
|
14
14
|
}
|
|
15
15
|
const U = ({ employeeId: o, dictionary: t, className: r }) => {
|
|
16
16
|
N("Employee.EmployeeDocuments", t);
|
|
17
|
-
const { onEvent: s, baseSubmitHandler: u } = b(), { data: a } = y({ employeeId: o }), e = a.
|
|
17
|
+
const { onEvent: s, baseSubmitHandler: u } = b(), { data: a } = y({ employeeId: o }), e = a.employeeShow, c = e?.onboardingDocumentsConfig?.i9Document ?? !1, p = e?.onboardingStatus ? C.has(e.onboardingStatus) || e.onboardingStatus === _.SELF_ONBOARDING_PENDING_INVITE : !1, { mutateAsync: E } = f(), l = d({
|
|
18
18
|
mutationKey: g()
|
|
19
19
|
}) > 0;
|
|
20
20
|
return /* @__PURE__ */ n(
|
package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmployeeDocuments.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.tsx"],"sourcesContent":["import { useIsMutating } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n useEmployeesUpdateOnboardingDocumentsConfigMutation,\n mutationKeyEmployeesUpdateOnboardingDocumentsConfig,\n} from '@gusto/embedded-api/react-query/employeesUpdateOnboardingDocumentsConfig'\nimport {\n EmployeeDocumentsPresentation,\n type EmployeeDocumentsFormValues,\n} from './EmployeeDocumentsPresentation'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport type { OnboardingContextInterface } from '@/components/Employee/OnboardingFlow/OnboardingFlowComponents'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeDocuments}.\n *\n * @public\n */\nexport interface EmployeeDocumentsProps extends BaseComponentInterface<'Employee.EmployeeDocuments'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Onboarding step for selecting which documents the employee must complete.\n *\n * @remarks\n * Shows the I-9 toggle when the employee is self-onboarding (so the employee\n * can choose whether their employer will collect I-9 verification) and a\n * summary otherwise. Persists the selection to the employee's onboarding\n * documents configuration and advances the parent flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/onboardingDocumentsConfig/updated` | Fired after the employee's documents configuration is saved | The updated documents configuration response |\n * | `employee/documents/done` | Fired when the step is complete and the parent flow can advance | — |\n *\n * @param props - Component props including `employeeId` and `onEvent`.\n * @returns The employee documents onboarding step.\n * @public\n */\nexport function EmployeeDocuments(props: EmployeeDocumentsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, dictionary, className }: EmployeeDocumentsProps) => {\n useComponentDictionary('Employee.EmployeeDocuments', dictionary)\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = useEmployeesGetSuspense({ employeeId })\n const employee = data.
|
|
1
|
+
{"version":3,"file":"EmployeeDocuments.js","sources":["../../../../../../src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.tsx"],"sourcesContent":["import { useIsMutating } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n useEmployeesUpdateOnboardingDocumentsConfigMutation,\n mutationKeyEmployeesUpdateOnboardingDocumentsConfig,\n} from '@gusto/embedded-api/react-query/employeesUpdateOnboardingDocumentsConfig'\nimport {\n EmployeeDocumentsPresentation,\n type EmployeeDocumentsFormValues,\n} from './EmployeeDocumentsPresentation'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport {\n componentEvents,\n EmployeeSelfOnboardingStatuses,\n EmployeeOnboardingStatus,\n} from '@/shared/constants'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport type { OnboardingContextInterface } from '@/components/Employee/OnboardingFlow/OnboardingFlowComponents'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link EmployeeDocuments}.\n *\n * @public\n */\nexport interface EmployeeDocumentsProps extends BaseComponentInterface<'Employee.EmployeeDocuments'> {\n /** The associated employee identifier. */\n employeeId: string\n}\n\n/**\n * Onboarding step for selecting which documents the employee must complete.\n *\n * @remarks\n * Shows the I-9 toggle when the employee is self-onboarding (so the employee\n * can choose whether their employer will collect I-9 verification) and a\n * summary otherwise. Persists the selection to the employee's onboarding\n * documents configuration and advances the parent flow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/onboardingDocumentsConfig/updated` | Fired after the employee's documents configuration is saved | The updated documents configuration response |\n * | `employee/documents/done` | Fired when the step is complete and the parent flow can advance | — |\n *\n * @param props - Component props including `employeeId` and `onEvent`.\n * @returns The employee documents onboarding step.\n * @public\n */\nexport function EmployeeDocuments(props: EmployeeDocumentsProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, dictionary, className }: EmployeeDocumentsProps) => {\n useComponentDictionary('Employee.EmployeeDocuments', dictionary)\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { data } = useEmployeesGetSuspense({ employeeId })\n const employee = data.employeeShow\n const currentI9Status = employee?.onboardingDocumentsConfig?.i9Document ?? false\n\n const isEmployeeSelfOnboarding = employee?.onboardingStatus\n ? EmployeeSelfOnboardingStatuses.has(employee.onboardingStatus) ||\n employee.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : false\n\n const { mutateAsync: updateOnboardingDocumentsConfig } =\n useEmployeesUpdateOnboardingDocumentsConfigMutation()\n\n const isMutating = useIsMutating({\n mutationKey: mutationKeyEmployeesUpdateOnboardingDocumentsConfig(),\n })\n const isPending = isMutating > 0\n\n const onSubmit = async (formData: EmployeeDocumentsFormValues) => {\n await baseSubmitHandler(formData, async () => {\n const response = await updateOnboardingDocumentsConfig({\n request: {\n employeeId,\n employeeOnboardingDocumentsConfigRequest: {\n i9Document: formData.includeI9,\n },\n },\n })\n\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_DOCUMENTS_CONFIG_UPDATED, response)\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n })\n }\n\n const handleDone = () => {\n onEvent(componentEvents.EMPLOYEE_DOCUMENTS_DONE)\n }\n\n return (\n <EmployeeDocumentsPresentation\n className={className}\n isEmployeeSelfOnboarding={isEmployeeSelfOnboarding}\n currentI9Status={currentI9Status}\n onSubmit={onSubmit}\n onDone={handleDone}\n isPending={isPending}\n />\n )\n}\n\n/** @internal */\nexport const EmployeeDocumentsContextual = () => {\n const { employeeId, onEvent } = useFlow<OnboardingContextInterface>()\n\n return <EmployeeDocuments employeeId={ensureRequired(employeeId)} onEvent={onEvent} />\n}\n"],"names":["EmployeeDocuments","props","jsx","BaseComponent","Root","employeeId","dictionary","className","useComponentDictionary","onEvent","baseSubmitHandler","useBase","data","useEmployeesGetSuspense","employee","currentI9Status","isEmployeeSelfOnboarding","EmployeeSelfOnboardingStatuses","EmployeeOnboardingStatus","updateOnboardingDocumentsConfig","useEmployeesUpdateOnboardingDocumentsConfigMutation","isPending","useIsMutating","mutationKeyEmployeesUpdateOnboardingDocumentsConfig","EmployeeDocumentsPresentation","formData","response","componentEvents","EmployeeDocumentsContextual","useFlow","ensureRequired"],"mappings":";;;;;;;;;;;AAkDO,SAASA,EAAkBC,GAA+B;AAC/D,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,YAAAC,GAAY,YAAAC,GAAY,WAAAC,QAAwC;AAC9E,EAAAC,EAAuB,8BAA8BF,CAAU;AAC/D,QAAM,EAAE,SAAAG,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,MAAAC,EAAA,IAASC,EAAwB,EAAE,YAAAR,GAAY,GACjDS,IAAWF,EAAK,cAChBG,IAAkBD,GAAU,2BAA2B,cAAc,IAErEE,IAA2BF,GAAU,mBACvCG,EAA+B,IAAIH,EAAS,gBAAgB,KAC5DA,EAAS,qBAAqBI,EAAyB,iCACvD,IAEE,EAAE,aAAaC,EAAA,IACnBC,EAAA,GAKIC,IAHaC,EAAc;AAAA,IAC/B,aAAaC,EAAA;AAAA,EAAoD,CAClE,IAC8B;AAsB/B,SACE,gBAAArB;AAAA,IAACsB;AAAA,IAAA;AAAA,MACC,WAAAjB;AAAA,MACA,0BAAAS;AAAA,MACA,iBAAAD;AAAA,MACA,UAzBa,OAAOU,MAA0C;AAChE,cAAMf,EAAkBe,GAAU,YAAY;AAC5C,gBAAMC,IAAW,MAAMP,EAAgC;AAAA,YACrD,SAAS;AAAA,cACP,YAAAd;AAAA,cACA,0CAA0C;AAAA,gBACxC,YAAYoB,EAAS;AAAA,cAAA;AAAA,YACvB;AAAA,UACF,CACD;AAED,UAAAhB,EAAQkB,EAAgB,8CAA8CD,CAAQ,GAC9EjB,EAAQkB,EAAgB,uBAAuB;AAAA,QACjD,CAAC;AAAA,MACH;AAAA,MAYI,QAVe,MAAM;AACvB,QAAAlB,EAAQkB,EAAgB,uBAAuB;AAAA,MACjD;AAAA,MASI,WAAAN;AAAA,IAAA;AAAA,EAAA;AAGN,GAGaO,IAA8B,MAAM;AAC/C,QAAM,EAAE,YAAAvB,GAAY,SAAAI,EAAA,IAAYoB,EAAA;AAEhC,2BAAQ7B,GAAA,EAAkB,YAAY8B,EAAezB,CAAU,GAAG,SAAAI,GAAkB;AACtF;"}
|
|
@@ -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;"}
|