@gusto/embedded-react-sdk 0.56.7 → 0.57.1
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 +60 -0
- package/README.md +1 -1
- package/dist/components/Base/Base.js +3 -2
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.js +44 -42
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +17 -15
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Input/Input.js +35 -32
- package/dist/components/Common/UI/Input/Input.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +8 -6
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +10 -8
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +6 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +8 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +6 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +11 -10
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +8 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +6 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +12 -10
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +13 -11
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +7 -5
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +6 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +9 -7
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +11 -8
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +7 -5
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +9 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +12 -10
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +10 -8
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +6 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +8 -6
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +13 -11
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +6 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +6 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +70 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +30 -32
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +35 -27
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +52 -31
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +106 -66
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +36 -30
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js +7 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +83 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +46 -18
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +7 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +96 -69
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +6 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +8 -6
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +6 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +6 -3
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/shared/requirementSetError.js +27 -10
- package/dist/components/Company/StateTaxes/shared/requirementSetError.js.map +1 -1
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js +77 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js +94 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js +26 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js +25 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js +33 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js +55 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js +153 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js +14 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js +16 -0
- package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js +34 -0
- package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js +30 -0
- package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js.map +1 -0
- package/dist/components/Company/exports/companyManagement.js +10 -4
- package/dist/components/Company/exports/companyManagement.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +17 -16
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +9 -8
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +8 -6
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +27 -26
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +13 -12
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +13 -12
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +8 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +6 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +24 -23
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +4 -3
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +4 -3
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +24 -22
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +9 -8
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +15 -14
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js +13 -13
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +8 -7
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +8 -7
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +42 -34
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +16 -14
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +8 -6
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +11 -9
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +113 -111
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +60 -52
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +27 -31
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +23 -18
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +31 -35
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +204 -179
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js +8 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +4 -4
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +50 -41
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +5 -9
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +164 -154
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +9 -5
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
- package/dist/components/Payroll/helpers.js +91 -84
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +16 -13
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +4 -2
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +8 -6
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +30 -28
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +19 -18
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.js +4 -3
- package/dist/contexts/ApiProvider/createSdkQueryClient.js.map +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +36 -0
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +4 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ObservabilityProvider/sanitization.js +98 -47
- package/dist/contexts/ObservabilityProvider/sanitization.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/helpers/validations.js +1 -1
- package/dist/helpers/validations.js.map +1 -1
- package/dist/i18n/I18n.js +2 -0
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
- package/dist/i18n/en/Company.Management.PaySchedule.json.js +24 -14
- package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +12 -10
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js +26 -0
- package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js.map +1 -0
- package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js +48 -0
- package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js.map +1 -0
- package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +42 -36
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +10 -8
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +14 -12
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +15 -13
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -10
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +16 -14
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +10 -8
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/shared/constants.js +62 -56
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +15 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +3 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +7 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +20 -4
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +3 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +10 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +25 -0
- package/dist/src/components/Company/StateTaxes/shared/requirementSetError.d.ts +18 -5
- package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.d.ts +31 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.d.ts +19 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.d.ts +42 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.d.ts +20 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.d.ts +10 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.d.ts +28 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.d.ts +33 -0
- package/dist/src/components/Company/TaxPayments/index.d.ts +6 -0
- package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.d.ts +29 -0
- package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.test.d.ts +1 -0
- package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.d.ts +62 -0
- package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.test.d.ts +1 -0
- package/dist/src/components/Company/TaxPayments/shared/useAllTaxPayments.d.ts +30 -0
- package/dist/src/components/Company/exports/companyManagement.d.ts +2 -0
- package/dist/src/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.test.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollConfiguration/__fixtures__/payrollConfigurationMocks.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverview.d.ts +9 -3
- package/dist/src/components/Payroll/helpers.d.ts +14 -18
- package/dist/src/contexts/ApiProvider/createSdkQueryClient.d.ts +2 -0
- package/dist/src/contexts/ApiProvider/createSdkQueryClient.test.d.ts +1 -0
- package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.d.ts +14 -0
- package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.test.d.ts +1 -0
- package/dist/src/contexts/ObservabilityProvider/sanitization.d.ts +8 -17
- package/dist/src/contexts/ObservabilityProvider/useSanitizedObservability.test.d.ts +1 -0
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
- package/dist/src/helpers/validations.test.d.ts +1 -0
- package/dist/src/i18n/types.d.ts +192 -4
- package/dist/src/models/external.d.ts +9 -6
- package/dist/src/shared/constants.d.ts +18 -0
- package/dist/src/types/observability.d.ts +59 -20
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +48 -0
- package/package.json +34 -31
|
@@ -1,34 +1,37 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
2
|
-
import { z as
|
|
1
|
+
import { jsx as t, jsxs as r } from "react/jsx-runtime";
|
|
2
|
+
import { z as n } from "zod";
|
|
3
3
|
import { useForm as u, FormProvider as y } from "react-hook-form";
|
|
4
|
-
import { zodResolver as
|
|
5
|
-
import { useTranslation as
|
|
6
|
-
import { PayScheduleAssignmentBodyType as
|
|
7
|
-
import { Flex as
|
|
8
|
-
import { ActionsLayout as
|
|
4
|
+
import { zodResolver as S } from "@hookform/resolvers/zod";
|
|
5
|
+
import { useTranslation as h } from "react-i18next";
|
|
6
|
+
import { PayScheduleAssignmentBodyType as o } from "@gusto/embedded-api/models/components/payscheduleassignmentbody";
|
|
7
|
+
import { Flex as p } from "../../../../Common/Flex/Flex.js";
|
|
8
|
+
import { ActionsLayout as f } from "../../../../Common/ActionsLayout/ActionsLayout.js";
|
|
9
9
|
import { Form as g } from "../../../../Common/Form/Form.js";
|
|
10
10
|
import { useComponentContext as b } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
11
|
import { RadioGroupField as v } from "../../../../Common/Fields/RadioGroupField/RadioGroupField.js";
|
|
12
|
-
const x =
|
|
13
|
-
type:
|
|
12
|
+
const x = n.object({
|
|
13
|
+
type: n.union([
|
|
14
|
+
n.literal(o.Single),
|
|
15
|
+
n.literal(o.HourlySalaried)
|
|
16
|
+
])
|
|
14
17
|
});
|
|
15
18
|
function L({
|
|
16
|
-
defaultType:
|
|
17
|
-
onBack:
|
|
18
|
-
onContinue:
|
|
19
|
+
defaultType: a = o.Single,
|
|
20
|
+
onBack: s,
|
|
21
|
+
onContinue: m
|
|
19
22
|
}) {
|
|
20
|
-
const { t: e } =
|
|
21
|
-
resolver:
|
|
22
|
-
defaultValues: { type:
|
|
23
|
-
}),
|
|
24
|
-
|
|
23
|
+
const { t: e } = h("Company.Management.PayScheduleAssignment"), i = b(), l = u({
|
|
24
|
+
resolver: S(x),
|
|
25
|
+
defaultValues: { type: a }
|
|
26
|
+
}), d = l.handleSubmit(({ type: c }) => {
|
|
27
|
+
m(c);
|
|
25
28
|
});
|
|
26
|
-
return /* @__PURE__ */ t(y, { ...
|
|
27
|
-
|
|
28
|
-
}, children: /* @__PURE__ */
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */ t(
|
|
31
|
-
/* @__PURE__ */ t(
|
|
29
|
+
return /* @__PURE__ */ t(y, { ...l, children: /* @__PURE__ */ t(g, { onSubmit: () => {
|
|
30
|
+
d();
|
|
31
|
+
}, children: /* @__PURE__ */ r(p, { flexDirection: "column", gap: 32, children: [
|
|
32
|
+
/* @__PURE__ */ r(p, { flexDirection: "column", gap: 4, children: [
|
|
33
|
+
/* @__PURE__ */ t(i.Heading, { as: "h2", children: e("typeStep.heading") }),
|
|
34
|
+
/* @__PURE__ */ t(i.Text, { variant: "supporting", children: e("typeStep.description") })
|
|
32
35
|
] }),
|
|
33
36
|
/* @__PURE__ */ t(
|
|
34
37
|
v,
|
|
@@ -38,16 +41,21 @@ function L({
|
|
|
38
41
|
shouldVisuallyHideLabel: !0,
|
|
39
42
|
options: [
|
|
40
43
|
{
|
|
41
|
-
value:
|
|
44
|
+
value: o.Single,
|
|
42
45
|
label: e("typeStep.options.single.label"),
|
|
43
46
|
description: e("typeStep.options.single.description")
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
value: o.HourlySalaried,
|
|
50
|
+
label: e("typeStep.options.hourlySalaried.label"),
|
|
51
|
+
description: e("typeStep.options.hourlySalaried.description")
|
|
44
52
|
}
|
|
45
53
|
]
|
|
46
54
|
}
|
|
47
55
|
),
|
|
48
|
-
/* @__PURE__ */
|
|
49
|
-
/* @__PURE__ */ t(
|
|
50
|
-
/* @__PURE__ */ t(
|
|
56
|
+
/* @__PURE__ */ r(f, { children: [
|
|
57
|
+
/* @__PURE__ */ t(i.Button, { variant: "secondary", onClick: s, children: e("backCta") }),
|
|
58
|
+
/* @__PURE__ */ t(i.Button, { variant: "primary", type: "submit", children: e("continueCta") })
|
|
51
59
|
] })
|
|
52
60
|
] }) }) });
|
|
53
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssignmentTypeStepPresentation.js","sources":["../../../../../../src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { useForm, FormProvider } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport { PayScheduleAssignmentBodyType } from '@gusto/embedded-api/models/components/payscheduleassignmentbody'\nimport { Flex, RadioGroupField, ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/** @internal */\nexport interface AssignmentTypeStepPresentationProps {\n defaultType?:
|
|
1
|
+
{"version":3,"file":"AssignmentTypeStepPresentation.js","sources":["../../../../../../src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { useForm, FormProvider } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport { PayScheduleAssignmentBodyType } from '@gusto/embedded-api/models/components/payscheduleassignmentbody'\nimport type { SupportedAssignmentType } from './usePayScheduleAssignment'\nimport { Flex, RadioGroupField, ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/** @internal */\nexport interface AssignmentTypeStepPresentationProps {\n defaultType?: SupportedAssignmentType\n onBack: () => void\n onContinue: (type: SupportedAssignmentType) => void\n}\n\nconst TypeStepSchema = z.object({\n type: z.union([\n z.literal(PayScheduleAssignmentBodyType.Single),\n z.literal(PayScheduleAssignmentBodyType.HourlySalaried),\n ]),\n})\n\ntype TypeStepInputs = z.infer<typeof TypeStepSchema>\n\n/** @internal */\nexport function AssignmentTypeStepPresentation({\n defaultType = PayScheduleAssignmentBodyType.Single,\n onBack,\n onContinue,\n}: AssignmentTypeStepPresentationProps) {\n const { t } = useTranslation('Company.Management.PayScheduleAssignment')\n const Components = useComponentContext()\n\n const formMethods = useForm<TypeStepInputs>({\n resolver: zodResolver(TypeStepSchema),\n defaultValues: { type: defaultType },\n })\n\n const handleSubmit = formMethods.handleSubmit(({ type }) => {\n onContinue(type)\n })\n\n return (\n <FormProvider {...formMethods}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('typeStep.heading')}</Components.Heading>\n <Components.Text variant=\"supporting\">{t('typeStep.description')}</Components.Text>\n </Flex>\n <RadioGroupField\n name=\"type\"\n label={t('typeStep.heading')}\n shouldVisuallyHideLabel\n options={[\n {\n value: PayScheduleAssignmentBodyType.Single,\n label: t('typeStep.options.single.label'),\n description: t('typeStep.options.single.description'),\n },\n {\n value: PayScheduleAssignmentBodyType.HourlySalaried,\n label: t('typeStep.options.hourlySalaried.label'),\n description: t('typeStep.options.hourlySalaried.description'),\n },\n ]}\n />\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={onBack}>\n {t('backCta')}\n </Components.Button>\n <Components.Button variant=\"primary\" type=\"submit\">\n {t('continueCta')}\n </Components.Button>\n </ActionsLayout>\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n"],"names":["TypeStepSchema","z","PayScheduleAssignmentBodyType","AssignmentTypeStepPresentation","defaultType","onBack","onContinue","t","useTranslation","Components","useComponentContext","formMethods","useForm","zodResolver","handleSubmit","type","FormProvider","jsx","Form","jsxs","Flex","RadioGroupField","ActionsLayout"],"mappings":";;;;;;;;;;;AAiBA,MAAMA,IAAiBC,EAAE,OAAO;AAAA,EAC9B,MAAMA,EAAE,MAAM;AAAA,IACZA,EAAE,QAAQC,EAA8B,MAAM;AAAA,IAC9CD,EAAE,QAAQC,EAA8B,cAAc;AAAA,EAAA,CACvD;AACH,CAAC;AAKM,SAASC,EAA+B;AAAA,EAC7C,aAAAC,IAAcF,EAA8B;AAAA,EAC5C,QAAAG;AAAA,EACA,YAAAC;AACF,GAAwC;AACtC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,0CAA0C,GACjEC,IAAaC,EAAA,GAEbC,IAAcC,EAAwB;AAAA,IAC1C,UAAUC,EAAYb,CAAc;AAAA,IACpC,eAAe,EAAE,MAAMI,EAAA;AAAA,EAAY,CACpC,GAEKU,IAAeH,EAAY,aAAa,CAAC,EAAE,MAAAI,QAAW;AAC1D,IAAAT,EAAWS,CAAI;AAAA,EACjB,CAAC;AAED,2BACGC,GAAA,EAAc,GAAGL,GAChB,UAAA,gBAAAM,EAACC,KAAK,UAAU,MAAA;AAAM,IAAKJ;KACzB,UAAA,gBAAAK,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAD,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,MAAA,gBAAAH,EAACR,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,kBAAkB,GAAE;AAAA,MACnD,gBAAAU,EAACR,EAAW,MAAX,EAAgB,SAAQ,cAAc,UAAAF,EAAE,sBAAsB,EAAA,CAAE;AAAA,IAAA,GACnE;AAAA,IACA,gBAAAU;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,OAAOd,EAAE,kBAAkB;AAAA,QAC3B,yBAAuB;AAAA,QACvB,SAAS;AAAA,UACP;AAAA,YACE,OAAOL,EAA8B;AAAA,YACrC,OAAOK,EAAE,+BAA+B;AAAA,YACxC,aAAaA,EAAE,qCAAqC;AAAA,UAAA;AAAA,UAEtD;AAAA,YACE,OAAOL,EAA8B;AAAA,YACrC,OAAOK,EAAE,uCAAuC;AAAA,YAChD,aAAaA,EAAE,6CAA6C;AAAA,UAAA;AAAA,QAC9D;AAAA,MACF;AAAA,IAAA;AAAA,sBAEDe,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAL,EAACR,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASJ,GAC7C,UAAAE,EAAE,SAAS,EAAA,CACd;AAAA,MACA,gBAAAU,EAACR,EAAW,QAAX,EAAkB,SAAQ,WAAU,MAAK,UACvC,UAAAF,EAAE,aAAa,EAAA,CAClB;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,GACF,GACF;AAEJ;"}
|
|
@@ -1,46 +1,67 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { createMachine as p } from "robot3";
|
|
3
|
-
import { useEffect as
|
|
4
|
-
import { useGustoEmbeddedContext as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
import { useEffect as f, useState as S, useMemo as h } from "react";
|
|
4
|
+
import { useGustoEmbeddedContext as y } from "@gusto/embedded-api/react-query/_context";
|
|
5
|
+
import { usePaySchedulesGetAssignmentsSuspense as g } from "@gusto/embedded-api/react-query/paySchedulesGetAssignments";
|
|
6
|
+
import { PayScheduleAssignmentType as a } from "@gusto/embedded-api/models/components/payscheduleassignment";
|
|
7
|
+
import { payScheduleAssignmentStateMachine as P } from "./payScheduleAssignmentStateMachine.js";
|
|
8
|
+
import { AssignmentTypeStep as A } from "./PayScheduleAssignmentComponents.js";
|
|
9
|
+
import { stripNullAssignmentPreviewFields as m } from "./stripNullAssignmentPreviewFields.js";
|
|
10
|
+
import { Flow as U } from "../../../../Flow/Flow.js";
|
|
11
|
+
import { BaseComponent as v } from "../../../../Base/Base.js";
|
|
12
|
+
import { useBase as C } from "../../../../Base/useBase.js";
|
|
13
|
+
import { useI18n as c, useComponentDictionary as k } from "../../../../../i18n/I18n.js";
|
|
14
|
+
import { useUnstableFeature as x } from "../../../../../contexts/UnstableFeaturesProvider/useUnstableFeature.js";
|
|
15
|
+
function M(e) {
|
|
16
|
+
switch (e) {
|
|
17
|
+
case a.Single:
|
|
18
|
+
case a.HourlySalaried:
|
|
19
|
+
return e;
|
|
20
|
+
default:
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function T(e) {
|
|
25
|
+
const t = M(e?.type);
|
|
26
|
+
return t ? {
|
|
27
|
+
assignmentType: t,
|
|
28
|
+
defaultPayScheduleUuid: e?.defaultPayScheduleUuid ?? void 0,
|
|
29
|
+
hourlyPayScheduleUuid: e?.hourlyPayScheduleUuid ?? void 0,
|
|
30
|
+
salariedPayScheduleUuid: e?.salariedPayScheduleUuid ?? void 0
|
|
31
|
+
} : {};
|
|
32
|
+
}
|
|
33
|
+
const I = ({
|
|
34
|
+
companyId: e,
|
|
15
35
|
dictionary: t,
|
|
16
36
|
...n
|
|
17
|
-
}) => (
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
const { onEvent: n } =
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
if (
|
|
24
|
-
return
|
|
25
|
-
const
|
|
26
|
-
|
|
37
|
+
}) => (x("managePaySchedules", { throwIfDisabled: !0 }), /* @__PURE__ */ s(v, { ...n, children: /* @__PURE__ */ s(w, { companyId: e, dictionary: t }) }));
|
|
38
|
+
function w({ companyId: e, dictionary: t }) {
|
|
39
|
+
c("Company.Management.PayScheduleAssignment"), k("Company.Management.PayScheduleAssignment", t), c("Company.PaySchedule");
|
|
40
|
+
const { onEvent: n } = C(), r = y();
|
|
41
|
+
f(() => {
|
|
42
|
+
const o = r._options.hooks;
|
|
43
|
+
if (o)
|
|
44
|
+
return o.registerAfterSuccessHook(m), () => {
|
|
45
|
+
const u = o.afterSuccessHooks.indexOf(m);
|
|
46
|
+
u !== -1 && o.afterSuccessHooks.splice(u, 1);
|
|
27
47
|
};
|
|
28
48
|
}, [r]);
|
|
29
|
-
const
|
|
49
|
+
const { data: d } = g({ companyId: e }), [i] = S(() => T(d.payScheduleAssignment)), l = h(
|
|
30
50
|
() => p(
|
|
31
51
|
"assignmentType",
|
|
32
|
-
|
|
33
|
-
(
|
|
34
|
-
...
|
|
35
|
-
component:
|
|
36
|
-
companyId:
|
|
52
|
+
P,
|
|
53
|
+
(o) => ({
|
|
54
|
+
...o,
|
|
55
|
+
component: A,
|
|
56
|
+
companyId: e,
|
|
57
|
+
...i
|
|
37
58
|
})
|
|
38
59
|
),
|
|
39
|
-
[
|
|
60
|
+
[e, i]
|
|
40
61
|
);
|
|
41
|
-
return /* @__PURE__ */ s(
|
|
62
|
+
return /* @__PURE__ */ s(U, { machine: l, onEvent: n });
|
|
42
63
|
}
|
|
43
64
|
export {
|
|
44
|
-
|
|
65
|
+
I as PayScheduleAssignment
|
|
45
66
|
};
|
|
46
67
|
//# sourceMappingURL=PayScheduleAssignment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayScheduleAssignment.js","sources":["../../../../../../src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useEffect, useMemo } from 'react'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { payScheduleAssignmentStateMachine } from './payScheduleAssignmentStateMachine'\nimport { AssignmentTypeStep } from './PayScheduleAssignmentComponents'\nimport type {
|
|
1
|
+
{"version":3,"file":"PayScheduleAssignment.js","sources":["../../../../../../src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useEffect, useMemo, useState } from 'react'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { usePaySchedulesGetAssignmentsSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAssignments'\nimport { PayScheduleAssignmentType } from '@gusto/embedded-api/models/components/payscheduleassignment'\nimport type { PayScheduleAssignment as PayScheduleAssignmentEntity } from '@gusto/embedded-api/models/components/payscheduleassignment'\nimport { payScheduleAssignmentStateMachine } from './payScheduleAssignmentStateMachine'\nimport { AssignmentTypeStep } from './PayScheduleAssignmentComponents'\nimport type {\n PayScheduleAssignmentContextInterface,\n SupportedAssignmentType,\n} from './usePayScheduleAssignment'\nimport { stripNullAssignmentPreviewFields } from './stripNullAssignmentPreviewFields'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport type { BaseComponentKeys } from '@/components/Base/Base'\nimport { useI18n } from '@/i18n'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { useUnstableFeature } from '@/contexts/UnstableFeaturesProvider/useUnstableFeature'\n\ntype AssignmentSeed = Pick<\n PayScheduleAssignmentContextInterface,\n 'assignmentType' | 'defaultPayScheduleUuid' | 'hourlyPayScheduleUuid' | 'salariedPayScheduleUuid'\n>\n\nfunction toSupportedType(\n type: PayScheduleAssignmentType | null | undefined,\n): SupportedAssignmentType | undefined {\n switch (type) {\n case PayScheduleAssignmentType.Single:\n case PayScheduleAssignmentType.HourlySalaried:\n return type\n default:\n // by_employee and by_department have no step implementations; start from the type step\n // with nothing preselected rather than seeding a type the flow can't render.\n return undefined\n }\n}\n\n/**\n * Builds the flow's starting context from the company's current assignment, so the flow opens\n * on what's already configured instead of proposing a change the user didn't ask for. The type\n * and the uuids have to travel together — without the type, the type step's first Continue\n * counts as a type change and clears the uuids.\n */\nfunction toAssignmentSeed(assignment: PayScheduleAssignmentEntity | undefined): AssignmentSeed {\n const assignmentType = toSupportedType(assignment?.type)\n\n if (!assignmentType) {\n return {}\n }\n\n return {\n assignmentType,\n defaultPayScheduleUuid: assignment?.defaultPayScheduleUuid ?? undefined,\n hourlyPayScheduleUuid: assignment?.hourlyPayScheduleUuid ?? undefined,\n salariedPayScheduleUuid: assignment?.salariedPayScheduleUuid ?? undefined,\n }\n}\n\n/**\n * Props for {@link PayScheduleAssignment}.\n *\n * @alpha\n */\nexport interface PayScheduleAssignmentProps extends BaseComponentInterface<'Company.Management.PayScheduleAssignment'> {\n /** Company whose pay schedule assignment is managed. */\n companyId: string\n}\n\n/**\n * Assigns a company's employees to a pay schedule.\n *\n * @remarks\n * Walks through choosing an assignment type, picking (or creating) a pay schedule, and reviewing\n * the employees and transition payrolls affected before submitting. Opens on the company's\n * current assignment, so submitting without changing anything is a no-op rather than a\n * reassignment. Two assignment types are\n * supported: one schedule for everyone (`single`), or separate schedules for hourly and salaried\n * employees (`hourly_salaried`). Picking the same schedule for both compensation types is\n * submitted as `single`. Can be mounted directly or launched from\n * `CompanyManagement.PaySchedule`'s Manage action.\n *\n * The internal step-to-step selection events (assignment type chosen, schedule picked) also\n * bubble through `onEvent` as a side effect of how the underlying `Flow` re-emits every event —\n * they carry no information a host needs mid-flow, since `assigned` reports the final outcome,\n * so they're intentionally left out of the table below.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `paySchedule/create` | The user chose to add a new pay schedule from the picker step | — |\n * | `paySchedule/created` | A new pay schedule was created from the picker step | `{ paySchedule: PayScheduleShow }` |\n * | `paySchedule/management/assignment/cancel` | The user backed out of the flow entirely, from the first step | — |\n * | `paySchedule/management/assignment/assigned` | The assignment was submitted successfully | `{ employeeChanges: PayScheduleAssignmentEmployeeChange[] }` plus either `{ type: 'single'; defaultPayScheduleUuid: string }` or `{ type: 'hourly_salaried'; hourlyPayScheduleUuid: string; salariedPayScheduleUuid: string }` |\n *\n * @alpha\n */\nexport const PayScheduleAssignment = ({\n companyId,\n dictionary,\n ...props\n}: PayScheduleAssignmentProps) => {\n useUnstableFeature('managePaySchedules', { throwIfDisabled: true })\n\n return (\n <BaseComponent {...props}>\n <Root companyId={companyId} dictionary={dictionary} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, dictionary }: Omit<PayScheduleAssignmentProps, BaseComponentKeys>) {\n useI18n('Company.Management.PayScheduleAssignment')\n useComponentDictionary('Company.Management.PayScheduleAssignment', dictionary)\n // AssignmentCreateScheduleStep reuses the onboarding PayScheduleForm, whose translations live\n // under its own namespace and are otherwise never loaded from this flow.\n useI18n('Company.PaySchedule')\n const { onEvent } = useBase()\n\n // Temporary: patch the assignment-preview response before the SDK validates it, and log\n // request/error details for debugging. See stripNullAssignmentPreviewFields for why —\n // remove both alongside it once the OAS is fixed upstream.\n const client = useGustoEmbeddedContext()\n useEffect(() => {\n const hooks = client._options.hooks\n if (!hooks) return\n hooks.registerAfterSuccessHook(stripNullAssignmentPreviewFields)\n\n return () => {\n // Remove only the single instance this effect registered — filtering the array would\n // also drop another concurrently-mounted instance's registration of the same hook.\n const index = hooks.afterSuccessHooks.indexOf(stripNullAssignmentPreviewFields)\n if (index !== -1) {\n hooks.afterSuccessHooks.splice(index, 1)\n }\n }\n }, [client])\n\n const { data: assignments } = usePaySchedulesGetAssignmentsSuspense({ companyId })\n\n /**\n * Freeze the company's current assignment as the flow's starting point. Submitting the flow\n * invalidates the whole SDK namespace, so this query refetches mid-submit — recomputing the\n * seed would re-seat the machine back to the first step and orphan its interpreter.\n */\n const [seed] = useState(() => toAssignmentSeed(assignments.payScheduleAssignment))\n\n const machine = useMemo(\n () =>\n createMachine(\n 'assignmentType',\n payScheduleAssignmentStateMachine,\n (initialContext: PayScheduleAssignmentContextInterface) => ({\n ...initialContext,\n component: AssignmentTypeStep,\n companyId,\n ...seed,\n }),\n ),\n [companyId, seed],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n"],"names":["toSupportedType","type","PayScheduleAssignmentType","toAssignmentSeed","assignment","assignmentType","PayScheduleAssignment","companyId","dictionary","props","useUnstableFeature","jsx","BaseComponent","Root","useI18n","useComponentDictionary","onEvent","useBase","client","useGustoEmbeddedContext","useEffect","hooks","stripNullAssignmentPreviewFields","index","assignments","usePaySchedulesGetAssignmentsSuspense","seed","useState","machine","useMemo","createMachine","payScheduleAssignmentStateMachine","initialContext","AssignmentTypeStep","Flow"],"mappings":";;;;;;;;;;;;;;AAyBA,SAASA,EACPC,GACqC;AACrC,UAAQA,GAAA;AAAA,IACN,KAAKC,EAA0B;AAAA,IAC/B,KAAKA,EAA0B;AAC7B,aAAOD;AAAA,IACT;AAGE;AAAA,EAAO;AAEb;AAQA,SAASE,EAAiBC,GAAqE;AAC7F,QAAMC,IAAiBL,EAAgBI,GAAY,IAAI;AAEvD,SAAKC,IAIE;AAAA,IACL,gBAAAA;AAAA,IACA,wBAAwBD,GAAY,0BAA0B;AAAA,IAC9D,uBAAuBA,GAAY,yBAAyB;AAAA,IAC5D,yBAAyBA,GAAY,2BAA2B;AAAA,EAAA,IAPzD,CAAA;AASX;AAwCO,MAAME,IAAwB,CAAC;AAAA,EACpC,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,GAAGC;AACL,OACEC,EAAmB,sBAAsB,EAAE,iBAAiB,GAAA,CAAM,GAGhE,gBAAAC,EAACC,KAAe,GAAGH,GACjB,4BAACI,GAAA,EAAK,WAAAN,GAAsB,YAAAC,GAAwB,EAAA,CACtD;AAIJ,SAASK,EAAK,EAAE,WAAAN,GAAW,YAAAC,KAAmE;AAC5F,EAAAM,EAAQ,0CAA0C,GAClDC,EAAuB,4CAA4CP,CAAU,GAG7EM,EAAQ,qBAAqB;AAC7B,QAAM,EAAE,SAAAE,EAAA,IAAYC,EAAA,GAKdC,IAASC,EAAA;AACf,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAQH,EAAO,SAAS;AAC9B,QAAKG;AACL,aAAAA,EAAM,yBAAyBC,CAAgC,GAExD,MAAM;AAGX,cAAMC,IAAQF,EAAM,kBAAkB,QAAQC,CAAgC;AAC9E,QAAIC,MAAU,MACZF,EAAM,kBAAkB,OAAOE,GAAO,CAAC;AAAA,MAE3C;AAAA,EACF,GAAG,CAACL,CAAM,CAAC;AAEX,QAAM,EAAE,MAAMM,EAAA,IAAgBC,EAAsC,EAAE,WAAAlB,GAAW,GAO3E,CAACmB,CAAI,IAAIC,EAAS,MAAMxB,EAAiBqB,EAAY,qBAAqB,CAAC,GAE3EI,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAA2D;AAAA,QAC1D,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAA1B;AAAA,QACA,GAAGmB;AAAA,MAAA;AAAA,IACL;AAAA,IAEJ,CAACnB,GAAWmB,CAAI;AAAA,EAAA;AAGlB,SAAO,gBAAAf,EAACuB,GAAA,EAAK,SAAAN,GAAkB,SAAAZ,EAAA,CAAkB;AACnD;"}
|
|
@@ -1,101 +1,141 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { usePaySchedulesGetAllSuspense as
|
|
4
|
-
import { usePaySchedulesPreviewAssignmentMutation as
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as C, useMemo as _, useEffect as U } from "react";
|
|
3
|
+
import { usePaySchedulesGetAllSuspense as T } from "@gusto/embedded-api/react-query/paySchedulesGetAll";
|
|
4
|
+
import { usePaySchedulesPreviewAssignmentMutation as L } from "@gusto/embedded-api/react-query/paySchedulesPreviewAssignment";
|
|
5
5
|
import { usePaySchedulesAssignMutation as v } from "@gusto/embedded-api/react-query/paySchedulesAssign";
|
|
6
|
-
import { PayScheduleAssignmentBodyType as
|
|
7
|
-
import { AssignmentTypeStepPresentation as
|
|
8
|
-
import { AssignmentScheduleStepPresentation as
|
|
6
|
+
import { PayScheduleAssignmentBodyType as l } from "@gusto/embedded-api/models/components/payscheduleassignmentbody";
|
|
7
|
+
import { AssignmentTypeStepPresentation as D } from "./AssignmentTypeStepPresentation.js";
|
|
8
|
+
import { AssignmentScheduleStepPresentation as H } from "./AssignmentScheduleStepPresentation.js";
|
|
9
|
+
import { AssignmentCompensationStepPresentation as N } from "./AssignmentCompensationStepPresentation.js";
|
|
9
10
|
import { AssignmentReviewStepPresentation as I } from "./AssignmentReviewStepPresentation.js";
|
|
10
|
-
import { PayScheduleForm as
|
|
11
|
-
import { useFlow as
|
|
12
|
-
import { BaseLayout as
|
|
13
|
-
import { useBase as
|
|
14
|
-
import { ensureRequired as
|
|
15
|
-
import { componentEvents as
|
|
16
|
-
function
|
|
17
|
-
const { assignmentType:
|
|
18
|
-
return /* @__PURE__ */
|
|
19
|
-
|
|
11
|
+
import { PayScheduleForm as B } from "../../PayScheduleForm.js";
|
|
12
|
+
import { useFlow as A } from "../../../../Flow/useFlow.js";
|
|
13
|
+
import { BaseLayout as Y } from "../../../../Base/Base.js";
|
|
14
|
+
import { useBase as w } from "../../../../Base/useBase.js";
|
|
15
|
+
import { ensureRequired as i } from "../../../../../helpers/ensureRequired.js";
|
|
16
|
+
import { componentEvents as n } from "../../../../../shared/constants.js";
|
|
17
|
+
function X() {
|
|
18
|
+
const { assignmentType: t, onEvent: o } = A();
|
|
19
|
+
return /* @__PURE__ */ r(
|
|
20
|
+
D,
|
|
20
21
|
{
|
|
21
|
-
defaultType:
|
|
22
|
+
defaultType: t,
|
|
22
23
|
onBack: () => {
|
|
23
|
-
n
|
|
24
|
+
o(n.PAY_SCHEDULE_ASSIGNMENT_CANCEL);
|
|
24
25
|
},
|
|
25
|
-
onContinue: (
|
|
26
|
-
n
|
|
26
|
+
onContinue: (u) => {
|
|
27
|
+
o(n.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED, { type: u });
|
|
27
28
|
}
|
|
28
29
|
}
|
|
29
30
|
);
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
-
const {
|
|
33
|
-
companyId:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
function Z() {
|
|
33
|
+
const {
|
|
34
|
+
companyId: t,
|
|
35
|
+
assignmentType: o,
|
|
36
|
+
defaultPayScheduleUuid: u,
|
|
37
|
+
hourlyPayScheduleUuid: y,
|
|
38
|
+
salariedPayScheduleUuid: p,
|
|
39
|
+
onEvent: s
|
|
40
|
+
} = A(), { data: d } = T({
|
|
41
|
+
companyId: i(t)
|
|
42
|
+
}), a = d.payScheduleShowResponse ?? [], S = a.find((e) => e.active), c = (e) => a.some((h) => h.uuid === e) ? e : S?.uuid;
|
|
43
|
+
return o === l.HourlySalaried ? /* @__PURE__ */ r(
|
|
44
|
+
N,
|
|
37
45
|
{
|
|
38
|
-
schedules:
|
|
39
|
-
|
|
46
|
+
schedules: a,
|
|
47
|
+
hourlyPayScheduleUuid: c(y),
|
|
48
|
+
salariedPayScheduleUuid: c(p),
|
|
40
49
|
onBack: () => {
|
|
41
|
-
|
|
50
|
+
s(n.PAY_SCHEDULE_ASSIGNMENT_BACK);
|
|
42
51
|
},
|
|
43
52
|
onAddPaySchedule: () => {
|
|
44
|
-
|
|
53
|
+
s(n.PAY_SCHEDULE_CREATE);
|
|
45
54
|
},
|
|
46
|
-
onContinue: (
|
|
47
|
-
|
|
48
|
-
|
|
55
|
+
onContinue: (e) => {
|
|
56
|
+
s(n.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, e);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
) : /* @__PURE__ */ r(
|
|
60
|
+
H,
|
|
61
|
+
{
|
|
62
|
+
schedules: a,
|
|
63
|
+
defaultPayScheduleUuid: c(u),
|
|
64
|
+
onBack: () => {
|
|
65
|
+
s(n.PAY_SCHEDULE_ASSIGNMENT_BACK);
|
|
66
|
+
},
|
|
67
|
+
onAddPaySchedule: () => {
|
|
68
|
+
s(n.PAY_SCHEDULE_CREATE);
|
|
69
|
+
},
|
|
70
|
+
onContinue: (e) => {
|
|
71
|
+
s(n.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, {
|
|
72
|
+
defaultPayScheduleUuid: e
|
|
49
73
|
});
|
|
50
74
|
}
|
|
51
75
|
}
|
|
52
76
|
);
|
|
53
77
|
}
|
|
54
|
-
function
|
|
55
|
-
const { companyId:
|
|
56
|
-
return /* @__PURE__ */
|
|
78
|
+
function $() {
|
|
79
|
+
const { companyId: t, onEvent: o } = A();
|
|
80
|
+
return /* @__PURE__ */ r(B, { companyId: i(t), onEvent: o });
|
|
57
81
|
}
|
|
58
|
-
function
|
|
59
|
-
const {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const
|
|
69
|
-
|
|
82
|
+
function ee() {
|
|
83
|
+
const {
|
|
84
|
+
companyId: t,
|
|
85
|
+
assignmentType: o,
|
|
86
|
+
defaultPayScheduleUuid: u,
|
|
87
|
+
hourlyPayScheduleUuid: y,
|
|
88
|
+
salariedPayScheduleUuid: p,
|
|
89
|
+
onEvent: s
|
|
90
|
+
} = A(), { baseSubmitHandler: d, error: a } = w(), [S, c] = C(null), { mutateAsync: e, isPending: h } = L(), { mutateAsync: f, isPending: g } = v(), E = _(() => {
|
|
91
|
+
if (o === l.HourlySalaried) {
|
|
92
|
+
const m = i(y), P = i(p);
|
|
93
|
+
return m === P ? {
|
|
94
|
+
type: l.Single,
|
|
95
|
+
defaultPayScheduleUuid: m
|
|
96
|
+
} : {
|
|
97
|
+
type: l.HourlySalaried,
|
|
98
|
+
hourlyPayScheduleUuid: m,
|
|
99
|
+
salariedPayScheduleUuid: P
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
type: l.Single,
|
|
104
|
+
defaultPayScheduleUuid: i(u)
|
|
105
|
+
};
|
|
106
|
+
}, [o, u, y, p]);
|
|
107
|
+
return U(() => {
|
|
108
|
+
d(void 0, async () => {
|
|
109
|
+
const m = await e({
|
|
110
|
+
request: { companyId: i(t), payScheduleAssignmentBody: E }
|
|
70
111
|
});
|
|
71
|
-
|
|
112
|
+
c(m.payScheduleAssignmentPreview?.employeeChanges ?? []);
|
|
72
113
|
});
|
|
73
|
-
}, [
|
|
114
|
+
}, [t, E, e, d]), a ? null : h || !S ? /* @__PURE__ */ r(Y, { isLoading: !0 }) : /* @__PURE__ */ r(
|
|
74
115
|
I,
|
|
75
116
|
{
|
|
76
|
-
employeeChanges:
|
|
77
|
-
isSubmitting:
|
|
117
|
+
employeeChanges: S,
|
|
118
|
+
isSubmitting: g,
|
|
78
119
|
onBack: () => {
|
|
79
|
-
|
|
120
|
+
s(n.PAY_SCHEDULE_ASSIGNMENT_BACK);
|
|
80
121
|
},
|
|
81
122
|
onSubmit: () => {
|
|
82
|
-
|
|
83
|
-
await
|
|
84
|
-
request: {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
});
|
|
123
|
+
d(void 0, async () => {
|
|
124
|
+
await f({
|
|
125
|
+
request: {
|
|
126
|
+
companyId: i(t),
|
|
127
|
+
payScheduleAssignmentBody: E
|
|
128
|
+
}
|
|
129
|
+
}), s(n.PAY_SCHEDULE_ASSIGNED, { ...E, employeeChanges: S });
|
|
90
130
|
});
|
|
91
131
|
}
|
|
92
132
|
}
|
|
93
133
|
);
|
|
94
134
|
}
|
|
95
135
|
export {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
136
|
+
$ as AssignmentCreateScheduleStep,
|
|
137
|
+
ee as AssignmentReviewStep,
|
|
138
|
+
Z as AssignmentScheduleStep,
|
|
139
|
+
X as AssignmentTypeStep
|
|
100
140
|
};
|
|
101
141
|
//# sourceMappingURL=PayScheduleAssignmentComponents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayScheduleAssignmentComponents.js","sources":["../../../../../../src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePaySchedulesPreviewAssignmentMutation } from '@gusto/embedded-api/react-query/paySchedulesPreviewAssignment'\nimport { usePaySchedulesAssignMutation } from '@gusto/embedded-api/react-query/paySchedulesAssign'\nimport { PayScheduleAssignmentBodyType } from '@gusto/embedded-api/models/components/payscheduleassignmentbody'\nimport type { PayScheduleAssignmentBody } from '@gusto/embedded-api/models/components/payscheduleassignmentbody'\nimport type { PayScheduleAssignmentEmployeeChange } from '@gusto/embedded-api/models/components/payscheduleassignmentemployeechange'\nimport type { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow'\nimport { AssignmentTypeStepPresentation } from './AssignmentTypeStepPresentation'\nimport { AssignmentScheduleStepPresentation } from './AssignmentScheduleStepPresentation'\nimport { AssignmentReviewStepPresentation } from './AssignmentReviewStepPresentation'\nimport type { PayScheduleAssignmentContextInterface } from './usePayScheduleAssignment'\nimport { PayScheduleForm } from '@/components/Company/PaySchedule/PayScheduleForm'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useBase, BaseLayout } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { componentEvents } from '@/shared/constants'\n\n/** @internal */\nexport type EventPayloads = {\n [componentEvents.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED]: { type: PayScheduleAssignmentBodyType }\n [componentEvents.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED]: { defaultPayScheduleUuid: string }\n [componentEvents.PAY_SCHEDULE_CREATED]: { paySchedule: PayScheduleShow }\n [componentEvents.PAY_SCHEDULE_ASSIGNED]: {\n type: PayScheduleAssignmentBodyType\n defaultPayScheduleUuid: string\n employeeChanges: PayScheduleAssignmentEmployeeChange[]\n }\n}\n\n/** @internal */\nexport function AssignmentTypeStep() {\n const { assignmentType, onEvent } = useFlow<PayScheduleAssignmentContextInterface>()\n\n return (\n <AssignmentTypeStepPresentation\n defaultType={\n assignmentType === PayScheduleAssignmentBodyType.Single ? assignmentType : undefined\n }\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_CANCEL)\n }}\n onContinue={type => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED, { type })\n }}\n />\n )\n}\n\n/** @internal */\nexport function AssignmentScheduleStep() {\n const { companyId, defaultPayScheduleUuid, onEvent } =\n useFlow<PayScheduleAssignmentContextInterface>()\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({\n companyId: ensureRequired(companyId),\n })\n const schedules = paySchedules.payScheduleShowResponse ?? []\n const activeSchedule = schedules.find(s => s.active)\n\n return (\n <AssignmentScheduleStepPresentation\n schedules={schedules}\n defaultPayScheduleUuid={defaultPayScheduleUuid ?? activeSchedule?.uuid}\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_BACK)\n }}\n onAddPaySchedule={() => {\n onEvent(componentEvents.PAY_SCHEDULE_CREATE)\n }}\n onContinue={uuid => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, {\n defaultPayScheduleUuid: uuid,\n })\n }}\n />\n )\n}\n\n/** @internal */\nexport function AssignmentCreateScheduleStep() {\n const { companyId, onEvent } = useFlow<PayScheduleAssignmentContextInterface>()\n\n return <PayScheduleForm companyId={ensureRequired(companyId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function AssignmentReviewStep() {\n const { companyId, assignmentType, defaultPayScheduleUuid, onEvent } =\n useFlow<PayScheduleAssignmentContextInterface>()\n const { baseSubmitHandler, error } = useBase()\n const [employeeChanges, setEmployeeChanges] = useState<\n PayScheduleAssignmentEmployeeChange[] | null\n >(null)\n const { mutateAsync: previewAssignment, isPending: isPreviewLoading } =\n usePaySchedulesPreviewAssignmentMutation()\n const { mutateAsync: assignSchedules, isPending: isAssigning } = usePaySchedulesAssignMutation()\n\n const payScheduleAssignmentBody: PayScheduleAssignmentBody = useMemo(\n () => ({\n type: assignmentType ?? PayScheduleAssignmentBodyType.Single,\n defaultPayScheduleUuid,\n }),\n [assignmentType, defaultPayScheduleUuid],\n )\n\n useEffect(() => {\n void baseSubmitHandler(undefined, async () => {\n const response = await previewAssignment({\n request: { companyId: ensureRequired(companyId), payScheduleAssignmentBody },\n })\n setEmployeeChanges(response.payScheduleAssignmentPreview?.employeeChanges ?? [])\n })\n }, [companyId, payScheduleAssignmentBody, previewAssignment, baseSubmitHandler])\n\n // The enclosing BaseComponent's own BaseLayout already renders `error` for this whole\n // component tree, so surface only the loading state here to avoid rendering it twice.\n if (error) {\n return null\n }\n if (isPreviewLoading || !employeeChanges) {\n return <BaseLayout isLoading />\n }\n\n return (\n <AssignmentReviewStepPresentation\n employeeChanges={employeeChanges}\n isSubmitting={isAssigning}\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_BACK)\n }}\n onSubmit={() => {\n void baseSubmitHandler(undefined, async () => {\n await assignSchedules({\n request: { companyId: ensureRequired(companyId), payScheduleAssignmentBody },\n })\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNED, {\n type: payScheduleAssignmentBody.type,\n defaultPayScheduleUuid: ensureRequired(defaultPayScheduleUuid),\n employeeChanges,\n })\n })\n }}\n />\n )\n}\n"],"names":["AssignmentTypeStep","assignmentType","onEvent","useFlow","jsx","AssignmentTypeStepPresentation","PayScheduleAssignmentBodyType","componentEvents","type","AssignmentScheduleStep","companyId","defaultPayScheduleUuid","paySchedules","usePaySchedulesGetAllSuspense","ensureRequired","schedules","activeSchedule","s","AssignmentScheduleStepPresentation","uuid","AssignmentCreateScheduleStep","PayScheduleForm","AssignmentReviewStep","baseSubmitHandler","error","useBase","employeeChanges","setEmployeeChanges","useState","previewAssignment","isPreviewLoading","usePaySchedulesPreviewAssignmentMutation","assignSchedules","isAssigning","usePaySchedulesAssignMutation","payScheduleAssignmentBody","useMemo","useEffect","response","BaseLayout","AssignmentReviewStepPresentation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PayScheduleAssignmentComponents.js","sources":["../../../../../../src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePaySchedulesPreviewAssignmentMutation } from '@gusto/embedded-api/react-query/paySchedulesPreviewAssignment'\nimport { usePaySchedulesAssignMutation } from '@gusto/embedded-api/react-query/paySchedulesAssign'\nimport { PayScheduleAssignmentBodyType } from '@gusto/embedded-api/models/components/payscheduleassignmentbody'\nimport type { PayScheduleAssignmentEmployeeChange } from '@gusto/embedded-api/models/components/payscheduleassignmentemployeechange'\nimport type { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow'\nimport { AssignmentTypeStepPresentation } from './AssignmentTypeStepPresentation'\nimport { AssignmentScheduleStepPresentation } from './AssignmentScheduleStepPresentation'\nimport { AssignmentCompensationStepPresentation } from './AssignmentCompensationStepPresentation'\nimport { AssignmentReviewStepPresentation } from './AssignmentReviewStepPresentation'\nimport type {\n PayScheduleAssignmentContextInterface,\n SupportedAssignmentType,\n} from './usePayScheduleAssignment'\nimport { PayScheduleForm } from '@/components/Company/PaySchedule/PayScheduleForm'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useBase, BaseLayout } from '@/components/Base'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * The assignment the user built, already collapsed to the type that actually gets submitted.\n * Doubles as the request body and as the `assigned` event payload.\n *\n * @internal\n */\nexport type AssignmentSelection =\n | {\n type: typeof PayScheduleAssignmentBodyType.Single\n defaultPayScheduleUuid: string\n }\n | {\n type: typeof PayScheduleAssignmentBodyType.HourlySalaried\n hourlyPayScheduleUuid: string\n salariedPayScheduleUuid: string\n }\n\n/** @internal */\nexport type EventPayloads = {\n [componentEvents.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED]: { type: SupportedAssignmentType }\n [componentEvents.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED]:\n | { defaultPayScheduleUuid: string }\n | { hourlyPayScheduleUuid: string; salariedPayScheduleUuid: string }\n [componentEvents.PAY_SCHEDULE_CREATED]: { paySchedule: PayScheduleShow }\n [componentEvents.PAY_SCHEDULE_ASSIGNED]: AssignmentSelection & {\n employeeChanges: PayScheduleAssignmentEmployeeChange[]\n }\n}\n\n/** @internal */\nexport function AssignmentTypeStep() {\n const { assignmentType, onEvent } = useFlow<PayScheduleAssignmentContextInterface>()\n\n return (\n <AssignmentTypeStepPresentation\n defaultType={assignmentType}\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_CANCEL)\n }}\n onContinue={type => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_TYPE_SELECTED, { type })\n }}\n />\n )\n}\n\n/** @internal */\nexport function AssignmentScheduleStep() {\n const {\n companyId,\n assignmentType,\n defaultPayScheduleUuid,\n hourlyPayScheduleUuid,\n salariedPayScheduleUuid,\n onEvent,\n } = useFlow<PayScheduleAssignmentContextInterface>()\n const { data: paySchedules } = usePaySchedulesGetAllSuspense({\n companyId: ensureRequired(companyId),\n })\n const schedules = paySchedules.payScheduleShowResponse ?? []\n const activeSchedule = schedules.find(s => s.active)\n /**\n * A uuid carried in from the company's existing assignment has no option to select if the\n * schedule is no longer in the company's list, which would leave the dropdown blank.\n */\n const preselect = (uuid: string | undefined) =>\n schedules.some(s => s.uuid === uuid) ? uuid : activeSchedule?.uuid\n\n if (assignmentType === PayScheduleAssignmentBodyType.HourlySalaried) {\n return (\n <AssignmentCompensationStepPresentation\n schedules={schedules}\n hourlyPayScheduleUuid={preselect(hourlyPayScheduleUuid)}\n salariedPayScheduleUuid={preselect(salariedPayScheduleUuid)}\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_BACK)\n }}\n onAddPaySchedule={() => {\n onEvent(componentEvents.PAY_SCHEDULE_CREATE)\n }}\n onContinue={selection => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, selection)\n }}\n />\n )\n }\n\n return (\n <AssignmentScheduleStepPresentation\n schedules={schedules}\n defaultPayScheduleUuid={preselect(defaultPayScheduleUuid)}\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_BACK)\n }}\n onAddPaySchedule={() => {\n onEvent(componentEvents.PAY_SCHEDULE_CREATE)\n }}\n onContinue={uuid => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_SCHEDULE_SELECTED, {\n defaultPayScheduleUuid: uuid,\n })\n }}\n />\n )\n}\n\n/** @internal */\nexport function AssignmentCreateScheduleStep() {\n const { companyId, onEvent } = useFlow<PayScheduleAssignmentContextInterface>()\n\n return <PayScheduleForm companyId={ensureRequired(companyId)} onEvent={onEvent} />\n}\n\n/** @internal */\nexport function AssignmentReviewStep() {\n const {\n companyId,\n assignmentType,\n defaultPayScheduleUuid,\n hourlyPayScheduleUuid,\n salariedPayScheduleUuid,\n onEvent,\n } = useFlow<PayScheduleAssignmentContextInterface>()\n const { baseSubmitHandler, error } = useBase()\n const [employeeChanges, setEmployeeChanges] = useState<\n PayScheduleAssignmentEmployeeChange[] | null\n >(null)\n const { mutateAsync: previewAssignment, isPending: isPreviewLoading } =\n usePaySchedulesPreviewAssignmentMutation()\n const { mutateAsync: assignSchedules, isPending: isAssigning } = usePaySchedulesAssignMutation()\n\n const assignment: AssignmentSelection = useMemo(() => {\n if (assignmentType === PayScheduleAssignmentBodyType.HourlySalaried) {\n const hourly = ensureRequired(hourlyPayScheduleUuid)\n const salaried = ensureRequired(salariedPayScheduleUuid)\n\n // One schedule for both compensation types is a single-schedule assignment. Collapsing\n // here rather than at submit keeps the previewed changes identical to what gets sent.\n if (hourly === salaried) {\n return {\n type: PayScheduleAssignmentBodyType.Single,\n defaultPayScheduleUuid: hourly,\n }\n }\n\n return {\n type: PayScheduleAssignmentBodyType.HourlySalaried,\n hourlyPayScheduleUuid: hourly,\n salariedPayScheduleUuid: salaried,\n }\n }\n\n return {\n type: PayScheduleAssignmentBodyType.Single,\n defaultPayScheduleUuid: ensureRequired(defaultPayScheduleUuid),\n }\n }, [assignmentType, defaultPayScheduleUuid, hourlyPayScheduleUuid, salariedPayScheduleUuid])\n\n useEffect(() => {\n void baseSubmitHandler(undefined, async () => {\n const response = await previewAssignment({\n request: { companyId: ensureRequired(companyId), payScheduleAssignmentBody: assignment },\n })\n setEmployeeChanges(response.payScheduleAssignmentPreview?.employeeChanges ?? [])\n })\n }, [companyId, assignment, previewAssignment, baseSubmitHandler])\n\n // The enclosing BaseComponent's own BaseLayout already renders `error` for this whole\n // component tree, so surface only the loading state here to avoid rendering it twice.\n if (error) {\n return null\n }\n if (isPreviewLoading || !employeeChanges) {\n return <BaseLayout isLoading />\n }\n\n return (\n <AssignmentReviewStepPresentation\n employeeChanges={employeeChanges}\n isSubmitting={isAssigning}\n onBack={() => {\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNMENT_BACK)\n }}\n onSubmit={() => {\n void baseSubmitHandler(undefined, async () => {\n await assignSchedules({\n request: {\n companyId: ensureRequired(companyId),\n payScheduleAssignmentBody: assignment,\n },\n })\n onEvent(componentEvents.PAY_SCHEDULE_ASSIGNED, { ...assignment, employeeChanges })\n })\n }}\n />\n )\n}\n"],"names":["AssignmentTypeStep","assignmentType","onEvent","useFlow","jsx","AssignmentTypeStepPresentation","componentEvents","type","AssignmentScheduleStep","companyId","defaultPayScheduleUuid","hourlyPayScheduleUuid","salariedPayScheduleUuid","paySchedules","usePaySchedulesGetAllSuspense","ensureRequired","schedules","activeSchedule","s","preselect","uuid","PayScheduleAssignmentBodyType","AssignmentCompensationStepPresentation","selection","AssignmentScheduleStepPresentation","AssignmentCreateScheduleStep","PayScheduleForm","AssignmentReviewStep","baseSubmitHandler","error","useBase","employeeChanges","setEmployeeChanges","useState","previewAssignment","isPreviewLoading","usePaySchedulesPreviewAssignmentMutation","assignSchedules","isAssigning","usePaySchedulesAssignMutation","assignment","useMemo","hourly","salaried","useEffect","response","BaseLayout","AssignmentReviewStepPresentation"],"mappings":"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"}
|