@gusto/embedded-react-sdk 0.36.0 → 0.37.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 +58 -0
- package/README.md +6 -0
- package/dist/UNSTABLE_Hooks.d.ts +1 -1
- package/dist/UNSTABLE_Hooks.js +50 -6
- package/dist/UNSTABLE_Hooks.js.map +1 -1
- package/dist/components/Base/Base.d.ts +8 -9
- package/dist/components/Base/Base.js +123 -101
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/index.d.ts +1 -1
- package/dist/components/Base/useBase.d.ts +3 -7
- package/dist/components/Base/useBase.js.map +1 -1
- package/dist/components/Base/useBaseSubmit.d.ts +3 -5
- package/dist/components/Base/useBaseSubmit.js +27 -50
- package/dist/components/Base/useBaseSubmit.js.map +1 -1
- package/dist/components/Common/Fields/CheckboxField/CheckboxField.d.ts +2 -0
- package/dist/components/Common/Fields/CheckboxField/CheckboxField.js +17 -16
- package/dist/components/Common/Fields/CheckboxField/CheckboxField.js.map +1 -1
- package/dist/components/Common/Fields/DatePickerField/DatePickerField.d.ts +5 -3
- package/dist/components/Common/Fields/DatePickerField/DatePickerField.js +46 -36
- package/dist/components/Common/Fields/DatePickerField/DatePickerField.js.map +1 -1
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.d.ts +2 -0
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +21 -20
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
- package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.d.ts +3 -1
- package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js +20 -19
- package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js.map +1 -1
- package/dist/components/Common/Fields/SelectField/SelectField.d.ts +3 -1
- package/dist/components/Common/Fields/SelectField/SelectField.js +19 -18
- package/dist/components/Common/Fields/SelectField/SelectField.js.map +1 -1
- package/dist/components/Common/Fields/SwitchField/SwitchField.d.ts +2 -0
- package/dist/components/Common/Fields/SwitchField/SwitchField.js +19 -18
- package/dist/components/Common/Fields/SwitchField/SwitchField.js.map +1 -1
- package/dist/components/Common/Fields/TextInputField/TextInputField.d.ts +2 -0
- package/dist/components/Common/Fields/TextInputField/TextInputField.js +10 -9
- package/dist/components/Common/Fields/TextInputField/TextInputField.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +2 -2
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +8 -7
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +8 -7
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +10 -9
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +8 -7
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +8 -7
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +8 -7
- package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +13 -12
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +11 -10
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +8 -7
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +8 -7
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +8 -7
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +60 -60
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/usePaySchedule.js +10 -9
- package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +8 -7
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +8 -7
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +10 -9
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +15 -15
- package/dist/components/Contractor/Profile/useContractorProfile.js +41 -38
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +7 -6
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +14 -13
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +7 -6
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +8 -7
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +8 -7
- package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
- package/dist/components/Employee/EmployeeList/useEmployeeList.js +8 -7
- package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js +42 -42
- package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +8 -7
- package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +10 -9
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
- package/dist/components/Employee/Profile/HomeAddress.d.ts +3 -3
- package/dist/components/Employee/Profile/HomeAddress.js +38 -36
- package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
- package/dist/components/Employee/Profile/Profile.js +30 -29
- package/dist/components/Employee/Profile/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/useProfile.js +8 -7
- package/dist/components/Employee/Profile/useProfile.js.map +1 -1
- package/dist/components/Employee/StateTaxes/StateTaxes.js +50 -50
- package/dist/components/Employee/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/useStateTaxes.js +8 -7
- package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.js +53 -53
- package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
- package/dist/components/Employee/Taxes/useTaxes.js +8 -7
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +11 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +123 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +11 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +92 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +2 -0
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +30 -0
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +23 -0
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +72 -0
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminationFlow/index.d.ts +3 -0
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.d.ts +7 -0
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +165 -0
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.test.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +9 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +86 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +20 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +103 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -0
- package/dist/components/Employee/Terminations/TerminationsData.d.ts +6 -0
- package/dist/components/Employee/Terminations/index.d.ts +8 -0
- package/dist/components/Employee/Terminations/types.d.ts +1 -0
- package/dist/components/Employee/index.d.ts +7 -0
- package/dist/components/Employee/index.js +34 -28
- package/dist/components/Employee/index.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequests.js +31 -31
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +41 -41
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +2 -0
- package/dist/components/Payroll/Dismissal/DismissalFlow.js +32 -0
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -0
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.d.ts +16 -0
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +52 -0
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +6 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +69 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +9 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +53 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/index.d.ts +3 -0
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +6 -0
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +51 -0
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -0
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.test.d.ts +1 -0
- package/dist/components/Payroll/Dismissal/index.d.ts +3 -0
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +18 -15
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js +19 -18
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +3 -0
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +32 -24
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +45 -45
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +75 -66
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.module.scss.js +8 -0
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.module.scss.js.map +1 -0
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +0 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.module.scss.js +4 -4
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js +2 -2
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts +1 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js +1 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +186 -159
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -3
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +69 -69
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.d.ts +3 -2
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js +8 -8
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +5 -3
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +76 -70
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +47 -42
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +4 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +235 -196
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js +12 -0
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js.map +1 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +3 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +21 -0
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -0
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +95 -64
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +53 -47
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +8 -8
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +25 -23
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +40 -32
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +110 -93
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +12 -8
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.d.ts +2 -0
- package/dist/components/Payroll/Transition/TransitionFlow.js +38 -0
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -0
- package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +19 -0
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js +54 -0
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -0
- package/dist/components/Payroll/Transition/index.d.ts +3 -0
- package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +6 -0
- package/dist/components/Payroll/Transition/transitionStateMachine.js +58 -0
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -0
- package/dist/components/Payroll/Transition/transitionStateMachine.test.d.ts +1 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +2 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +92 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +2 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +111 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js +8 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js.map +1 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +28 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +21 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -0
- package/dist/components/Payroll/TransitionCreation/index.d.ts +3 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +8 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +83 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +16 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +100 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -0
- package/dist/components/Payroll/TransitionPayrollAlert/index.d.ts +2 -0
- package/dist/components/Payroll/helpers.d.ts +2 -1
- package/dist/components/Payroll/helpers.js +98 -87
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/index.d.ts +6 -0
- package/dist/components/Payroll/index.js +32 -26
- package/dist/components/Payroll/index.js.map +1 -1
- package/dist/components/Payroll/payrollTypes.d.ts +21 -0
- package/dist/components/Payroll/payrollTypes.js +27 -0
- package/dist/components/Payroll/payrollTypes.js.map +1 -0
- package/dist/components/Payroll/usePreparedPayrollData.js +4 -4
- package/dist/components/UNSTABLE_Hooks/collectErrors.d.ts +6 -0
- package/dist/components/UNSTABLE_Hooks/collectErrors.js +9 -0
- package/dist/components/UNSTABLE_Hooks/collectErrors.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.d.ts +8 -0
- package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.js +13 -0
- package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.d.ts +10 -0
- package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.js +13 -0
- package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/SDKFormProvider.d.ts +23 -0
- package/dist/components/UNSTABLE_Hooks/form/SDKFormProvider.js +24 -0
- package/dist/components/UNSTABLE_Hooks/form/SDKFormProvider.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/composeFormSchema.d.ts +26 -0
- package/dist/components/UNSTABLE_Hooks/form/composeFormSchema.js +24 -0
- package/dist/components/UNSTABLE_Hooks/form/composeFormSchema.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/composeSubmitHandler.d.ts +53 -0
- package/dist/components/UNSTABLE_Hooks/form/composeSubmitHandler.js +34 -0
- package/dist/components/UNSTABLE_Hooks/form/composeSubmitHandler.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/composeSubmitHandler.test.d.ts +1 -0
- package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.d.ts +3 -0
- package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.js +14 -0
- package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.test.d.ts +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.d.ts +9 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.js +34 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/CheckboxHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/DatePickerHookField.d.ts +9 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/DatePickerHookField.js +29 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/DatePickerHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/NumberInputHookField.d.ts +12 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/NumberInputHookField.js +40 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/NumberInputHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/RadioGroupHookField.d.ts +10 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/RadioGroupHookField.js +40 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/RadioGroupHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/SelectHookField.d.ts +10 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/SelectHookField.js +40 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/SelectHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/SwitchHookField.d.ts +9 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/SwitchHookField.js +34 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/SwitchHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/TextInputHookField.d.ts +11 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/TextInputHookField.js +38 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/TextInputHookField.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/fields/index.d.ts +15 -0
- package/dist/components/UNSTABLE_Hooks/form/getFieldWithOptions.d.ts +2 -0
- package/dist/components/UNSTABLE_Hooks/form/getFieldWithOptions.js +8 -0
- package/dist/components/UNSTABLE_Hooks/form/getFieldWithOptions.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/getFormSubmissionValues.d.ts +18 -0
- package/dist/components/UNSTABLE_Hooks/form/getFormSubmissionValues.js +10 -0
- package/dist/components/UNSTABLE_Hooks/form/getFormSubmissionValues.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/getFormSubmissionValues.test.d.ts +1 -0
- package/dist/components/UNSTABLE_Hooks/form/index.d.ts +14 -0
- package/dist/components/UNSTABLE_Hooks/form/resolveRequiredFields.d.ts +6 -0
- package/dist/components/UNSTABLE_Hooks/form/resolveRequiredFields.js +14 -0
- package/dist/components/UNSTABLE_Hooks/form/resolveRequiredFields.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/types.d.ts +27 -0
- package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.d.ts +2 -0
- package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.js +17 -0
- package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.d.ts +4 -0
- package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.js +9 -0
- package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/form/withOptions.d.ts +5 -0
- package/dist/components/UNSTABLE_Hooks/form/withOptions.js +7 -0
- package/dist/components/UNSTABLE_Hooks/form/withOptions.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/CompensationForm.d.ts +5 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/CompensationForm.js +151 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/CompensationForm.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchema.d.ts +97 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchema.js +121 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/compensationSchema.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/fields.d.ts +34 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/fields.js +50 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/fields.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/index.d.ts +7 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.d.ts +104 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.js +259 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/EmployeeDetailsForm.d.ts +5 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/EmployeeDetailsForm.js +114 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/EmployeeDetailsForm.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +39 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/employeeDetailsSchema.js +45 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/fields.d.ts +23 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/fields.js +46 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/fields.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/index.d.ts +7 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +77 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/useEmployeeDetailsForm.js +153 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/WorkAddressForm.d.ts +5 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/WorkAddressForm.js +71 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/WorkAddressForm.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/fields.d.ts +10 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/fields.js +14 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/fields.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/index.d.ts +7 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/useWorkAddressForm.d.ts +68 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/useWorkAddressForm.js +129 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/useWorkAddressForm.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/workAddressSchema.d.ts +25 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/workAddressSchema.js +24 -0
- package/dist/components/UNSTABLE_Hooks/hooks/useWorkAddressForm/workAddressSchema.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/index.d.ts +9 -0
- package/dist/components/UNSTABLE_Hooks/types.d.ts +49 -0
- package/dist/components/UNSTABLE_Hooks/useErrorHandling.d.ts +9 -0
- package/dist/components/UNSTABLE_Hooks/useErrorHandling.js +12 -0
- package/dist/components/UNSTABLE_Hooks/useErrorHandling.js.map +1 -0
- package/dist/components/UNSTABLE_Hooks/useErrorHandling.test.d.ts +1 -0
- package/dist/contexts/ApiProvider/ApiProvider.js +11 -11
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +43 -47
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ObservabilityProvider/index.d.ts +1 -1
- package/dist/contexts/ObservabilityProvider/sanitization.d.ts +0 -14
- package/dist/contexts/ObservabilityProvider/sanitization.js +51 -51
- package/dist/contexts/ObservabilityProvider/sanitization.js.map +1 -1
- package/dist/contexts/ObservabilityProvider/useSanitizedObservability.d.ts +0 -3
- package/dist/contexts/ObservabilityProvider/useSanitizedObservability.js.map +1 -1
- package/dist/helpers/requiredIf.d.ts +13 -0
- package/dist/helpers/requiredIf.js +8 -0
- package/dist/helpers/requiredIf.js.map +1 -0
- package/dist/i18n/I18n.js +13 -13
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Employee.Terminations.TerminateEmployee.json.js +18 -0
- package/dist/i18n/en/Employee.Terminations.TerminateEmployee.json.js.map +1 -0
- package/dist/i18n/en/Employee.Terminations.TerminationFlow.json.js +12 -0
- package/dist/i18n/en/Employee.Terminations.TerminationFlow.json.js.map +1 -0
- package/dist/i18n/en/Employee.Terminations.TerminationSummary.json.js +20 -0
- package/dist/i18n/en/Employee.Terminations.TerminationSummary.json.js.map +1 -0
- package/dist/i18n/en/Payroll.Dismissal.json.js +22 -0
- package/dist/i18n/en/Payroll.Dismissal.json.js.map +1 -0
- package/dist/i18n/en/Payroll.OffCycleCreation.json.js +15 -11
- package/dist/i18n/en/Payroll.OffCycleCreation.json.js.map +1 -1
- package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -18
- package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollList.json.js +20 -18
- package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -1
- package/dist/i18n/en/Payroll.Transition.json.js +8 -0
- package/dist/i18n/en/Payroll.Transition.json.js.map +1 -0
- package/dist/i18n/en/Payroll.TransitionCreation.json.js +26 -0
- package/dist/i18n/en/Payroll.TransitionCreation.json.js.map +1 -0
- package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +18 -0
- package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js.map +1 -0
- package/dist/i18n/en/UNSTABLE.CompensationForm.json.js +58 -0
- package/dist/i18n/en/UNSTABLE.CompensationForm.json.js.map +1 -0
- package/dist/i18n/en/UNSTABLE.EmployeeDetailsForm.json.js +34 -0
- package/dist/i18n/en/UNSTABLE.EmployeeDetailsForm.json.js.map +1 -0
- package/dist/i18n/en/UNSTABLE.WorkAddressForm.json.js +24 -0
- package/dist/i18n/en/UNSTABLE.WorkAddressForm.json.js.map +1 -0
- package/dist/i18n/en/common.json.d.ts +2 -1
- package/dist/i18n/en/common.json.js +9 -9
- package/dist/index.d.ts +3 -2
- package/dist/index.js +14 -13
- package/dist/models/WA_RISK_CODES.d.ts +5 -2866
- package/dist/models/WA_RISK_CODES.js.map +1 -1
- package/dist/shared/constants.d.ts +32 -0
- package/dist/shared/constants.js +83 -65
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +279 -1
- package/dist/types/observability.d.ts +31 -65
- package/dist/types/sdkError.d.ts +97 -0
- package/dist/types/sdkError.js +95 -0
- package/dist/types/sdkError.js.map +1 -0
- package/dist/types/sdkError.test.d.ts +1 -0
- package/docs/reference/endpoint-inventory.json +212 -14
- package/package.json +16 -16
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.d.ts +0 -6
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.js +0 -70
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.d.ts +0 -7
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js +0 -6
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.d.ts +0 -9
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.js +0 -40
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/index.d.ts +0 -5
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.d.ts +0 -2
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.js +0 -12
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.js.map +0 -1
- package/dist/components/Payroll/UNSTABLE_PayrollHooks/index.d.ts +0 -2
- package/dist/contexts/ObservabilityProvider/observabilityUtils.d.ts +0 -5
- package/dist/contexts/ObservabilityProvider/observabilityUtils.js +0 -45
- package/dist/contexts/ObservabilityProvider/observabilityUtils.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as r, Fragment as s, jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import { useFormContext as g } from "react-hook-form";
|
|
3
|
-
import { useTranslation as f, Trans as
|
|
3
|
+
import { useTranslation as f, Trans as m } from "react-i18next";
|
|
4
4
|
import { z as t } from "zod";
|
|
5
5
|
import { useProfile as b } from "./useProfile.js";
|
|
6
6
|
import { STATES_ABBR as y } from "../../../shared/constants.js";
|
|
@@ -10,16 +10,16 @@ import { useComponentContext as C } from "../../../contexts/ComponentAdapter/use
|
|
|
10
10
|
import "react";
|
|
11
11
|
import { SelectField as T } from "../../Common/Fields/SelectField/SelectField.js";
|
|
12
12
|
import { CheckboxField as A } from "../../Common/Fields/CheckboxField/CheckboxField.js";
|
|
13
|
-
const
|
|
13
|
+
const l = t.object({
|
|
14
14
|
street1: t.string().min(1),
|
|
15
15
|
street2: t.string().optional(),
|
|
16
16
|
city: t.string().min(1),
|
|
17
17
|
state: t.string().min(1),
|
|
18
18
|
zip: t.string().refine((e) => /(^\d{5}$)|(^\d{5}-\d{4}$)/.test(e)),
|
|
19
|
-
courtesyWithholding: t.boolean()
|
|
19
|
+
courtesyWithholding: t.boolean().optional()
|
|
20
20
|
}), L = t.union([
|
|
21
21
|
// Case 1: selfOnboarding is false or undefined
|
|
22
|
-
|
|
22
|
+
l.extend({
|
|
23
23
|
selfOnboarding: t.union([t.literal(!1), t.undefined()])
|
|
24
24
|
}),
|
|
25
25
|
// Case 2: selfOnboarding is true
|
|
@@ -28,21 +28,21 @@ const s = t.object({
|
|
|
28
28
|
})
|
|
29
29
|
]), k = t.union([
|
|
30
30
|
// Case 1: selfOnboarding is false or undefined
|
|
31
|
-
|
|
31
|
+
l.extend({
|
|
32
32
|
selfOnboarding: t.union([t.literal(!1), t.undefined()])
|
|
33
33
|
}),
|
|
34
34
|
// Case 2: selfOnboarding is true but admin can update completed onboarding
|
|
35
|
-
|
|
35
|
+
l.extend({
|
|
36
36
|
selfOnboarding: t.literal(!0)
|
|
37
37
|
})
|
|
38
38
|
]), $ = () => {
|
|
39
|
-
const { t: e } = f("Employee.HomeAddress"),
|
|
40
|
-
return
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */ i(
|
|
43
|
-
/* @__PURE__ */ i(
|
|
39
|
+
const { t: e } = f("Employee.HomeAddress"), n = C(), { isSelfOnboardingIntended: c, isAdmin: a, hasCompletedSelfOnboarding: h } = b(), { watch: p } = g(), u = p("courtesyWithholding");
|
|
40
|
+
return a && c && !h ? null : /* @__PURE__ */ r(s, { children: [
|
|
41
|
+
/* @__PURE__ */ r("div", { children: [
|
|
42
|
+
/* @__PURE__ */ i(n.Heading, { as: "h2", children: e("formTitle") }),
|
|
43
|
+
/* @__PURE__ */ i(n.Text, { children: e("desc") })
|
|
44
44
|
] }),
|
|
45
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ r(
|
|
46
46
|
x,
|
|
47
47
|
{
|
|
48
48
|
gridTemplateColumns: {
|
|
@@ -74,9 +74,9 @@ const s = t.object({
|
|
|
74
74
|
T,
|
|
75
75
|
{
|
|
76
76
|
name: "state",
|
|
77
|
-
options: y.map((
|
|
78
|
-
label: e(`statesHash.${
|
|
79
|
-
value:
|
|
77
|
+
options: y.map((d) => ({
|
|
78
|
+
label: e(`statesHash.${d}`, { ns: "common" }),
|
|
79
|
+
value: d
|
|
80
80
|
})),
|
|
81
81
|
label: e("state"),
|
|
82
82
|
placeholder: e("statePlaceholder"),
|
|
@@ -96,27 +96,29 @@ const s = t.object({
|
|
|
96
96
|
]
|
|
97
97
|
}
|
|
98
98
|
),
|
|
99
|
-
/* @__PURE__ */
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
99
|
+
a && /* @__PURE__ */ r(s, { children: [
|
|
100
|
+
/* @__PURE__ */ i(
|
|
101
|
+
A,
|
|
102
|
+
{
|
|
103
|
+
name: "courtesyWithholding",
|
|
104
|
+
label: e("courtesyWithholdingLabel"),
|
|
105
|
+
description: /* @__PURE__ */ r(s, { children: [
|
|
106
|
+
e("courtesyWithholdingDescription"),
|
|
107
|
+
/* @__PURE__ */ i(
|
|
108
|
+
m,
|
|
109
|
+
{
|
|
110
|
+
t: e,
|
|
111
|
+
i18nKey: "learnMoreCta",
|
|
112
|
+
components: {
|
|
113
|
+
LearnMoreLink: /* @__PURE__ */ i(n.Link, {})
|
|
114
|
+
}
|
|
113
115
|
}
|
|
114
|
-
|
|
115
|
-
)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
)
|
|
117
|
+
] })
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
u && /* @__PURE__ */ i(n.Alert, { label: e("withholdingTitle"), status: "warning", children: /* @__PURE__ */ i(m, { t: e, i18nKey: "withholdingNote" }) })
|
|
121
|
+
] })
|
|
120
122
|
] });
|
|
121
123
|
};
|
|
122
124
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HomeAddress.js","sources":["../../../../src/components/Employee/Profile/HomeAddress.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { useProfile } from './useProfile'\nimport { STATES_ABBR } from '@/shared/constants'\nimport { CheckboxField, Grid, SelectField, TextInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nconst HomeAddressFieldsSchema = z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().refine(zip => /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/.test(zip)),\n courtesyWithholding: z.boolean(),\n})\n\nexport const HomeAddressSchema = z.union([\n // Case 1: selfOnboarding is false or undefined\n HomeAddressFieldsSchema.extend({\n selfOnboarding: z.union([z.literal(false), z.undefined()]),\n }),\n // Case 2: selfOnboarding is true\n z.object({\n selfOnboarding: z.literal(true),\n }),\n])\n\nexport const HomeAddressSchemaWithCompletedOnboarding = z.union([\n // Case 1: selfOnboarding is false or undefined\n HomeAddressFieldsSchema.extend({\n selfOnboarding: z.union([z.literal(false), z.undefined()]),\n }),\n // Case 2: selfOnboarding is true but admin can update completed onboarding\n HomeAddressFieldsSchema.extend({\n selfOnboarding: z.literal(true),\n }),\n])\n\nexport type HomeAddressInputs = z.infer<typeof HomeAddressSchema>\n\nexport const HomeAddress = () => {\n const { t } = useTranslation('Employee.HomeAddress')\n const Components = useComponentContext()\n const { isSelfOnboardingIntended, isAdmin, hasCompletedSelfOnboarding } = useProfile()\n\n const { watch } = useFormContext<HomeAddressInputs>()\n const watchedCourtesyWithholding = watch('courtesyWithholding')\n\n if (isAdmin && isSelfOnboardingIntended && !hasCompletedSelfOnboarding) {\n return null\n }\n\n return (\n <>\n <div>\n <Components.Heading as=\"h2\">{t('formTitle')}</Components.Heading>\n <Components.Text>{t('desc')}</Components.Text>\n </div>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: ['1fr', '1fr'],\n }}\n gap={20}\n >\n <TextInputField\n name=\"street1\"\n label={t('street1')}\n isRequired\n errorMessage={t('validations.street1')}\n />\n <TextInputField name=\"street2\" label={t('street2')} />\n <TextInputField\n name=\"city\"\n isRequired\n label={t('city')}\n errorMessage={t('validations.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('state')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n <TextInputField\n name=\"zip\"\n isRequired\n label={t('zip')}\n errorMessage={t('validations.zip')}\n />\n </Grid>\n <CheckboxField\n
|
|
1
|
+
{"version":3,"file":"HomeAddress.js","sources":["../../../../src/components/Employee/Profile/HomeAddress.tsx"],"sourcesContent":["import { useFormContext } from 'react-hook-form'\nimport { Trans, useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { useProfile } from './useProfile'\nimport { STATES_ABBR } from '@/shared/constants'\nimport { CheckboxField, Grid, SelectField, TextInputField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\nconst HomeAddressFieldsSchema = z.object({\n street1: z.string().min(1),\n street2: z.string().optional(),\n city: z.string().min(1),\n state: z.string().min(1),\n zip: z.string().refine(zip => /(^\\d{5}$)|(^\\d{5}-\\d{4}$)/.test(zip)),\n courtesyWithholding: z.boolean().optional(),\n})\n\nexport const HomeAddressSchema = z.union([\n // Case 1: selfOnboarding is false or undefined\n HomeAddressFieldsSchema.extend({\n selfOnboarding: z.union([z.literal(false), z.undefined()]),\n }),\n // Case 2: selfOnboarding is true\n z.object({\n selfOnboarding: z.literal(true),\n }),\n])\n\nexport const HomeAddressSchemaWithCompletedOnboarding = z.union([\n // Case 1: selfOnboarding is false or undefined\n HomeAddressFieldsSchema.extend({\n selfOnboarding: z.union([z.literal(false), z.undefined()]),\n }),\n // Case 2: selfOnboarding is true but admin can update completed onboarding\n HomeAddressFieldsSchema.extend({\n selfOnboarding: z.literal(true),\n }),\n])\n\nexport type HomeAddressInputs = z.infer<typeof HomeAddressSchema>\n\nexport const HomeAddress = () => {\n const { t } = useTranslation('Employee.HomeAddress')\n const Components = useComponentContext()\n const { isSelfOnboardingIntended, isAdmin, hasCompletedSelfOnboarding } = useProfile()\n\n const { watch } = useFormContext<HomeAddressInputs>()\n const watchedCourtesyWithholding = watch('courtesyWithholding')\n\n if (isAdmin && isSelfOnboardingIntended && !hasCompletedSelfOnboarding) {\n return null\n }\n\n return (\n <>\n <div>\n <Components.Heading as=\"h2\">{t('formTitle')}</Components.Heading>\n <Components.Text>{t('desc')}</Components.Text>\n </div>\n <Grid\n gridTemplateColumns={{\n base: '1fr',\n small: ['1fr', '1fr'],\n }}\n gap={20}\n >\n <TextInputField\n name=\"street1\"\n label={t('street1')}\n isRequired\n errorMessage={t('validations.street1')}\n />\n <TextInputField name=\"street2\" label={t('street2')} />\n <TextInputField\n name=\"city\"\n isRequired\n label={t('city')}\n errorMessage={t('validations.city')}\n />\n <SelectField\n name=\"state\"\n options={STATES_ABBR.map((stateAbbr: (typeof STATES_ABBR)[number]) => ({\n label: t(`statesHash.${stateAbbr}`, { ns: 'common' }),\n value: stateAbbr,\n }))}\n label={t('state')}\n placeholder={t('statePlaceholder')}\n errorMessage={t('validations.state')}\n isRequired\n />\n <TextInputField\n name=\"zip\"\n isRequired\n label={t('zip')}\n errorMessage={t('validations.zip')}\n />\n </Grid>\n {isAdmin && (\n <>\n <CheckboxField\n name=\"courtesyWithholding\"\n label={t('courtesyWithholdingLabel')}\n description={\n <>\n {t('courtesyWithholdingDescription')}\n <Trans\n t={t}\n i18nKey=\"learnMoreCta\"\n components={{\n LearnMoreLink: <Components.Link />,\n }}\n />\n </>\n }\n />\n {watchedCourtesyWithholding && (\n <Components.Alert label={t('withholdingTitle')} status=\"warning\">\n <Trans t={t} i18nKey=\"withholdingNote\" />\n </Components.Alert>\n )}\n </>\n )}\n </>\n )\n}\n"],"names":["HomeAddressFieldsSchema","z","zip","HomeAddressSchema","HomeAddressSchemaWithCompletedOnboarding","HomeAddress","t","useTranslation","Components","useComponentContext","isSelfOnboardingIntended","isAdmin","hasCompletedSelfOnboarding","useProfile","watch","useFormContext","watchedCourtesyWithholding","jsxs","Fragment","jsx","Grid","TextInputField","SelectField","STATES_ABBR","stateAbbr","CheckboxField","Trans"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { jsx as t, jsxs as k, Fragment as
|
|
2
|
-
import { zodResolver as
|
|
1
|
+
import { jsx as t, jsxs as k, Fragment as fe } from "react/jsx-runtime";
|
|
2
|
+
import { zodResolver as Ee } from "@hookform/resolvers/zod";
|
|
3
3
|
import { useState as W, useRef as he, useEffect as Oe } from "react";
|
|
4
4
|
import { useForm as Se, useWatch as De, FormProvider as ge } from "react-hook-form";
|
|
5
5
|
import { useLocationsGetSuspense as Pe } from "@gusto/embedded-api/react-query/locationsGet";
|
|
6
6
|
import { useEmployeesCreateMutation as be } from "@gusto/embedded-api/react-query/employeesCreate";
|
|
7
7
|
import { useEmployeesGetSuspense as Ne } from "@gusto/embedded-api/react-query/employeesGet";
|
|
8
|
-
import { useEmployeeAddressesGetSuspense as
|
|
9
|
-
import { useEmployeeAddressesCreateMutation as
|
|
8
|
+
import { useEmployeeAddressesGetSuspense as Ie } from "@gusto/embedded-api/react-query/employeeAddressesGet";
|
|
9
|
+
import { useEmployeeAddressesCreateMutation as _e } from "@gusto/embedded-api/react-query/employeeAddressesCreate";
|
|
10
10
|
import { useEmployeeAddressesUpdateMutation as we } from "@gusto/embedded-api/react-query/employeeAddressesUpdate";
|
|
11
11
|
import { useEmployeeAddressesUpdateWorkAddressMutation as Me } from "@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress";
|
|
12
12
|
import { useEmployeesUpdateMutation as Be } from "@gusto/embedded-api/react-query/employeesUpdate";
|
|
@@ -30,15 +30,16 @@ import { useI18n as U, useComponentDictionary as Je } from "../../../i18n/I18n.j
|
|
|
30
30
|
import { EmployeeOnboardingStatus as i, EmployeeSelfOnboardingStatuses as Qe, componentEvents as d } from "../../../shared/constants.js";
|
|
31
31
|
import { useFlow as Xe } from "../../Flow/useFlow.js";
|
|
32
32
|
import { ensureRequired as Ze } from "../../../helpers/ensureRequired.js";
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
import { SDKInternalError as $e } from "../../../types/sdkError.js";
|
|
34
|
+
function er(r) {
|
|
35
|
+
return /* @__PURE__ */ t(je, { ...r, children: r.employeeId ? /* @__PURE__ */ t(rr, { ...r, employeeId: r.employeeId, children: r.children }) : /* @__PURE__ */ t(q, { ...r, children: r.children }) });
|
|
35
36
|
}
|
|
36
|
-
function
|
|
37
|
+
function rr({ employeeId: r, ...m }) {
|
|
37
38
|
const {
|
|
38
39
|
data: { employee: p }
|
|
39
40
|
} = Ne({ employeeId: r }), {
|
|
40
41
|
data: { employeeAddressList: y }
|
|
41
|
-
} =
|
|
42
|
+
} = Ie({ employeeId: r }), {
|
|
42
43
|
data: { employeeWorkAddressesList: l }
|
|
43
44
|
} = Ce({ employeeId: r });
|
|
44
45
|
return /* @__PURE__ */ t(
|
|
@@ -66,11 +67,11 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
66
67
|
children: b,
|
|
67
68
|
className: F = "",
|
|
68
69
|
defaultValues: s
|
|
69
|
-
} = y, { onEvent: n, baseSubmitHandler: V } = Ke(), [Y, N] = W(T), [z,
|
|
70
|
+
} = y, { onEvent: n, baseSubmitHandler: V } = Ke(), [Y, N] = W(T), [z, I] = W(G), { data: x } = Pe({ companyId: l }), j = x.companyLocationsList, { mutateAsync: K, isPending: J } = be(), { mutateAsync: Q, isPending: X } = Be(), { mutateAsync: Z, isPending: $ } = Le(), { mutateAsync: ee, isPending: re } = Me(), { mutateAsync: te, isPending: oe } = _e(), { mutateAsync: se, isPending: ne } = we(), {
|
|
70
71
|
mutateAsync: de,
|
|
71
72
|
isPending: ie
|
|
72
|
-
} = Re(),
|
|
73
|
-
employee:
|
|
73
|
+
} = Re(), _ = { employee: u, workAddresses: P }, ae = Ye(H), me = _.workAddresses?.find((c) => c.active), e = he({
|
|
74
|
+
employee: _.employee,
|
|
74
75
|
homeAddress: ae,
|
|
75
76
|
workAddress: me
|
|
76
77
|
}), S = {
|
|
@@ -102,13 +103,13 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
102
103
|
ssn: ""
|
|
103
104
|
}, D = Se({
|
|
104
105
|
// @ts-expect-error: Zod 4 discriminated union intersection produces narrower types than NullableDatesMapper expects
|
|
105
|
-
resolver:
|
|
106
|
+
resolver: Ee((r ? Y : ve).and(z)),
|
|
106
107
|
defaultValues: r ? le : ue
|
|
107
108
|
}), { handleSubmit: ce } = D, A = De({ control: D.control, name: "selfOnboarding" });
|
|
108
109
|
Oe(() => {
|
|
109
110
|
if (r) {
|
|
110
111
|
const c = g(u);
|
|
111
|
-
N(A && !c ? ke : T),
|
|
112
|
+
N(A && !c ? ke : T), I(A && c ? qe : G);
|
|
112
113
|
}
|
|
113
114
|
}, [A, r, u?.onboardingStatus, u?.onboarded]);
|
|
114
115
|
const pe = async (c) => {
|
|
@@ -116,7 +117,7 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
116
117
|
const { workAddress: w, startDate: Ae, selfOnboarding: h, ...O } = a;
|
|
117
118
|
if (e.current.employee) {
|
|
118
119
|
if (r && (h && e.current.employee.onboardingStatus === i.ADMIN_ONBOARDING_INCOMPLETE || !h && e.current.employee.onboardingStatus === i.SELF_ONBOARDING_PENDING_INVITE)) {
|
|
119
|
-
const { employeeOnboardingStatus:
|
|
120
|
+
const { employeeOnboardingStatus: f } = await de({
|
|
120
121
|
request: {
|
|
121
122
|
employeeId: e.current.employee.uuid,
|
|
122
123
|
requestBody: {
|
|
@@ -126,8 +127,8 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
126
127
|
});
|
|
127
128
|
e.current.employee = {
|
|
128
129
|
...e.current.employee,
|
|
129
|
-
onboardingStatus:
|
|
130
|
-
}, n(d.EMPLOYEE_ONBOARDING_STATUS_UPDATED,
|
|
130
|
+
onboardingStatus: f.onboardingStatus
|
|
131
|
+
}, n(d.EMPLOYEE_ONBOARDING_STATUS_UPDATED, f);
|
|
131
132
|
}
|
|
132
133
|
const { employee: o } = await Q({
|
|
133
134
|
request: {
|
|
@@ -150,20 +151,20 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
150
151
|
e.current = { ...e.current, employee: o }, n(d.EMPLOYEE_CREATED, o);
|
|
151
152
|
}
|
|
152
153
|
if (typeof e.current.employee?.uuid != "string")
|
|
153
|
-
throw new
|
|
154
|
+
throw new $e("Employee id is not available");
|
|
154
155
|
const M = g(
|
|
155
156
|
e.current.employee
|
|
156
157
|
);
|
|
157
158
|
if ((!r || !A || M) && (!a.selfOnboarding || M) && "street1" in a && "city" in a && "state" in a && "zip" in a) {
|
|
158
|
-
const { street1: o, street2:
|
|
159
|
+
const { street1: o, street2: f, city: B, state: C, zip: L, courtesyWithholding: R } = a;
|
|
159
160
|
if (e.current.homeAddress) {
|
|
160
|
-
const { employeeAddress:
|
|
161
|
+
const { employeeAddress: E } = await se({
|
|
161
162
|
request: {
|
|
162
163
|
homeAddressUuid: e.current.homeAddress.uuid,
|
|
163
164
|
requestBody: {
|
|
164
165
|
version: e.current.homeAddress.version,
|
|
165
166
|
street1: o,
|
|
166
|
-
street2:
|
|
167
|
+
street2: f,
|
|
167
168
|
city: B,
|
|
168
169
|
state: C,
|
|
169
170
|
zip: L,
|
|
@@ -171,14 +172,14 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
171
172
|
}
|
|
172
173
|
}
|
|
173
174
|
});
|
|
174
|
-
e.current = { ...e.current, homeAddress:
|
|
175
|
+
e.current = { ...e.current, homeAddress: E }, n(d.EMPLOYEE_HOME_ADDRESS_UPDATED, E);
|
|
175
176
|
} else {
|
|
176
|
-
const { employeeAddress:
|
|
177
|
+
const { employeeAddress: E } = await te({
|
|
177
178
|
request: {
|
|
178
179
|
employeeId: e.current.employee.uuid,
|
|
179
180
|
requestBody: {
|
|
180
181
|
street1: o,
|
|
181
|
-
street2:
|
|
182
|
+
street2: f,
|
|
182
183
|
city: B,
|
|
183
184
|
state: C,
|
|
184
185
|
zip: L,
|
|
@@ -186,7 +187,7 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
186
187
|
}
|
|
187
188
|
}
|
|
188
189
|
});
|
|
189
|
-
e.current = { ...e.current, homeAddress:
|
|
190
|
+
e.current = { ...e.current, homeAddress: E }, n(d.EMPLOYEE_HOME_ADDRESS_CREATED, E);
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
if (r)
|
|
@@ -235,7 +236,7 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
235
236
|
hasCompletedSelfOnboarding: g(e.current.employee),
|
|
236
237
|
isPending: X || re || oe || ne || J || $ || ie
|
|
237
238
|
},
|
|
238
|
-
children: /* @__PURE__ */ t(ge, { ...D, children: /* @__PURE__ */ t(xe, { onSubmit: ce(pe), children: b || /* @__PURE__ */ k(
|
|
239
|
+
children: /* @__PURE__ */ t(ge, { ...D, children: /* @__PURE__ */ t(xe, { onSubmit: ce(pe), children: b || /* @__PURE__ */ k(fe, { children: [
|
|
239
240
|
/* @__PURE__ */ k(ze, { gridTemplateColumns: "1fr", gap: 24, children: [
|
|
240
241
|
/* @__PURE__ */ t(Ge, {}),
|
|
241
242
|
/* @__PURE__ */ t(We, {}),
|
|
@@ -247,10 +248,10 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
247
248
|
] }) }) })
|
|
248
249
|
}
|
|
249
250
|
) });
|
|
250
|
-
},
|
|
251
|
+
}, Wr = () => {
|
|
251
252
|
const { companyId: r, employeeId: m, onEvent: p, isAdmin: y, defaultValues: l, isSelfOnboardingEnabled: u } = Xe();
|
|
252
253
|
return /* @__PURE__ */ t(
|
|
253
|
-
|
|
254
|
+
er,
|
|
254
255
|
{
|
|
255
256
|
companyId: Ze(r),
|
|
256
257
|
employeeId: m,
|
|
@@ -262,7 +263,7 @@ const g = (r) => r?.onboarded || r?.onboardingStatus === i.ONBOARDING_COMPLETED
|
|
|
262
263
|
);
|
|
263
264
|
};
|
|
264
265
|
export {
|
|
265
|
-
|
|
266
|
-
|
|
266
|
+
er as Profile,
|
|
267
|
+
Wr as ProfileContextual
|
|
267
268
|
};
|
|
268
269
|
//# sourceMappingURL=Profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","sources":["../../../../src/components/Employee/Profile/Profile.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { useRef, useState, useEffect } from 'react'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useLocationsGetSuspense } from '@gusto/embedded-api/react-query/locationsGet'\nimport { useEmployeesCreateMutation } from '@gusto/embedded-api/react-query/employeesCreate'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { type Employee } from '@gusto/embedded-api/models/components/employee'\nimport { useEmployeeAddressesGetSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { type EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { useEmployeeAddressesUpdateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress'\nimport { useEmployeesUpdateMutation } from '@gusto/embedded-api/react-query/employeesUpdate'\nimport { useEmployeeAddressesGetWorkAddressesSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeAddressesCreateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport {\n AdminPersonalDetails,\n AdminPersonalDetailsSchema,\n AdminSelfOnboardingPersonalDetailsSchema,\n} from './AdminPersonalDetails'\nimport { SelfPersonalDetails, SelfPersonalDetailsSchema } from './SelfPersonalDetails'\nimport { type PersonalDetailsPayload, type PersonalDetailsInputs } from './PersonalDetailsInputs'\nimport { Head } from './Head'\nimport { Actions } from './Actions'\nimport {\n HomeAddress,\n HomeAddressSchema,\n HomeAddressSchemaWithCompletedOnboarding,\n type HomeAddressInputs,\n} from './HomeAddress'\nimport { WorkAddress } from './WorkAddress'\nimport { ProfileProvider } from './useProfile'\nimport { getEmployeeAddressForProfile } from './getEmployeeAddressForProfile'\nimport { Grid } from '@/components/Common/Grid/Grid'\nimport { Form } from '@/components/Common/Form'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport type { RequireAtLeastOne, WithRequired } from '@/types/Helpers'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nexport type ProfileDefaultValues = RequireAtLeastOne<{\n employee?: RequireAtLeastOne<{\n firstName?: string\n middleInitial?: string\n lastName?: string\n email?: string\n dateOfBirth?: string\n }>\n homeAddress?: RequireAtLeastOne<{\n street1?: string\n street2?: string\n city?: string\n state?: string\n zip?: string\n }>\n inviteEmployeeDefault?: boolean\n}>\ninterface ProfileProps extends CommonComponentInterface<'Employee.Profile'> {\n employeeId?: string\n companyId: string\n defaultValues?: ProfileDefaultValues\n isAdmin?: boolean\n isSelfOnboardingEnabled?: boolean\n}\n\ninterface ProfileConditionalProps {\n employee?: Employee\n homeAddresses?: EmployeeAddress[]\n workAddresses?: EmployeeWorkAddress[]\n}\n\nexport function Profile(props: ProfileProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n {props.employeeId ? (\n <RootWithEmployee {...props} employeeId={props.employeeId}>\n {props.children}\n </RootWithEmployee>\n ) : (\n <Root {...props}>{props.children}</Root>\n )}\n </BaseComponent>\n )\n}\n\n/**Accounting for conditional logic where employee data needs to be fetched only if employeeId is present */\nfunction RootWithEmployee({ employeeId, ...props }: WithRequired<ProfileProps, 'employeeId'>) {\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const {\n data: { employeeAddressList },\n } = useEmployeeAddressesGetSuspense({ employeeId })\n const {\n data: { employeeWorkAddressesList },\n } = useEmployeeAddressesGetWorkAddressesSuspense({ employeeId })\n return (\n <Root\n {...props}\n employee={employee}\n homeAddresses={employeeAddressList}\n workAddresses={employeeWorkAddressesList}\n />\n )\n}\n\nconst checkHasCompletedSelfOnboarding = (employee?: Employee) => {\n return (\n employee?.onboarded ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n )\n}\n\nconst Root = ({\n isAdmin = false,\n isSelfOnboardingEnabled = true,\n dictionary,\n ...props\n}: ProfileProps & ProfileConditionalProps) => {\n useI18n('Employee.Profile')\n useI18n('Employee.HomeAddress')\n useComponentDictionary('Employee.Profile', dictionary)\n const {\n companyId,\n employee,\n homeAddresses,\n workAddresses,\n children,\n className = '',\n defaultValues,\n } = props\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [AdminSchema, setAdminSchema] = useState<\n typeof AdminPersonalDetailsSchema | typeof AdminSelfOnboardingPersonalDetailsSchema\n >(AdminPersonalDetailsSchema)\n\n const [AddressSchema, setAddressSchema] = useState<\n typeof HomeAddressSchema | typeof HomeAddressSchemaWithCompletedOnboarding\n >(HomeAddressSchema)\n\n const { data } = useLocationsGetSuspense({ companyId })\n const companyLocations = data.companyLocationsList!\n\n const { mutateAsync: createEmployee, isPending: isPendingCreateEmployee } =\n useEmployeesCreateMutation()\n const { mutateAsync: mutateEmployee, isPending: isPendingEmployeeUpdate } =\n useEmployeesUpdateMutation()\n\n const { mutateAsync: createEmployeeWorkAddress, isPending: isPendingCreateWA } =\n useEmployeeAddressesCreateWorkAddressMutation()\n const { mutateAsync: mutateEmployeeWorkAddress, isPending: isPendingWorkAddressUpdate } =\n useEmployeeAddressesUpdateWorkAddressMutation()\n\n const { mutateAsync: createEmployeeHomeAddress, isPending: isPendingAddHA } =\n useEmployeeAddressesCreateMutation()\n const { mutateAsync: mutateEmployeeHomeAddress, isPending: isPendingUpdateHA } =\n useEmployeeAddressesUpdateMutation()\n\n const {\n mutateAsync: updateEmployeeOnboardingStatus,\n isPending: isPendingUpdateOnboardingStatus,\n } = useEmployeesUpdateOnboardingStatusMutation()\n\n const existingData = { employee, workAddresses, homeAddresses }\n\n const currentHomeAddress = getEmployeeAddressForProfile(homeAddresses)\n\n const currentWorkAddress = existingData.workAddresses?.find(address => address.active)\n const mergedData = useRef({\n employee: existingData.employee,\n homeAddress: currentHomeAddress,\n workAddress: currentWorkAddress,\n })\n const initialValues = {\n firstName: mergedData.current.employee?.firstName ?? defaultValues?.employee?.firstName ?? '',\n middleInitial:\n mergedData.current.employee?.middleInitial ?? defaultValues?.employee?.middleInitial ?? '',\n lastName: mergedData.current.employee?.lastName ?? defaultValues?.employee?.lastName ?? '',\n workAddress: mergedData.current.workAddress?.locationUuid,\n startDate: mergedData.current.employee?.jobs?.[0]?.hireDate\n ? new Date(mergedData.current.employee.jobs[0].hireDate)\n : null, // By default employee response contains only current job - therefore jobs[0]\n email: mergedData.current.employee?.email ?? defaultValues?.employee?.email ?? '',\n dateOfBirth: mergedData.current.employee?.dateOfBirth\n ? new Date(mergedData.current.employee.dateOfBirth)\n : defaultValues?.employee?.dateOfBirth\n ? new Date(defaultValues.employee.dateOfBirth)\n : null,\n\n street1: mergedData.current.homeAddress?.street1 ?? defaultValues?.homeAddress?.street1 ?? '',\n street2: mergedData.current.homeAddress?.street2 ?? defaultValues?.homeAddress?.street2 ?? '',\n city: mergedData.current.homeAddress?.city ?? defaultValues?.homeAddress?.city ?? '',\n zip: mergedData.current.homeAddress?.zip ?? defaultValues?.homeAddress?.zip ?? '',\n state: mergedData.current.homeAddress?.state ?? defaultValues?.homeAddress?.state ?? '',\n courtesyWithholding: mergedData.current.homeAddress?.courtesyWithholding ?? false,\n }\n\n const adminDefaultValues =\n mergedData.current.employee?.onboarded ||\n mergedData.current.employee?.onboardingStatus ===\n EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (mergedData.current.employee?.onboardingStatus !== undefined &&\n mergedData.current.employee.onboardingStatus !==\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE)\n ? { ...initialValues, enableSsn: false, selfOnboarding: true }\n : {\n ...initialValues,\n selfOnboarding: isSelfOnboardingEnabled\n ? mergedData.current.employee?.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n EmployeeSelfOnboardingStatuses.has(mergedData.current.employee.onboarding_status)\n : (defaultValues?.inviteEmployeeDefault ?? false)\n : false,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n } // In edit mode ssn is submitted only if it has been modified\n\n const selfDetaultValues = {\n ...initialValues,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n }\n\n const formMethods = useForm<\n PersonalDetailsInputs & HomeAddressInputs,\n unknown,\n PersonalDetailsPayload & HomeAddressInputs\n >({\n // @ts-expect-error: Zod 4 discriminated union intersection produces narrower types than NullableDatesMapper expects\n resolver: zodResolver((isAdmin ? AdminSchema : SelfPersonalDetailsSchema).and(AddressSchema)),\n defaultValues: isAdmin ? adminDefaultValues : selfDetaultValues,\n })\n\n const { handleSubmit } = formMethods\n const watchedSelfOnboarding = useWatch({ control: formMethods.control, name: 'selfOnboarding' })\n\n useEffect(() => {\n if (isAdmin) {\n const hasCompletedSelfOnboarding = checkHasCompletedSelfOnboarding(employee)\n\n if (watchedSelfOnboarding && !hasCompletedSelfOnboarding) {\n setAdminSchema(AdminSelfOnboardingPersonalDetailsSchema)\n } else {\n setAdminSchema(AdminPersonalDetailsSchema)\n }\n\n if (watchedSelfOnboarding && hasCompletedSelfOnboarding) {\n setAddressSchema(HomeAddressSchemaWithCompletedOnboarding)\n } else {\n setAddressSchema(HomeAddressSchema)\n }\n }\n }, [watchedSelfOnboarding, isAdmin, employee?.onboardingStatus, employee?.onboarded])\n\n const onSubmit: SubmitHandler<PersonalDetailsPayload & HomeAddressInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { workAddress, startDate, selfOnboarding, ...body } = payload\n //create or update employee\n if (!mergedData.current.employee) {\n const { employee: employeeData } = await createEmployee({\n request: {\n companyId,\n requestBody: {\n ...body,\n selfOnboarding,\n dateOfBirth: body.dateOfBirth ? new RFCDate(body.dateOfBirth) : undefined,\n },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_CREATED, employeeData)\n } else {\n // Updating self-onboarding status\n if (\n isAdmin &&\n ((selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE) ||\n (!selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE))\n ) {\n const { employeeOnboardingStatus } = await updateEmployeeOnboardingStatus({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n onboardingStatus: selfOnboarding\n ? EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n mergedData.current.employee = {\n ...mergedData.current.employee,\n onboardingStatus: employeeOnboardingStatus!\n .onboardingStatus as (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus],\n }\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, employeeOnboardingStatus)\n }\n const { employee: employeeData } = await mutateEmployee({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: { ...body, version: mergedData.current.employee.version as string },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_UPDATED, employeeData)\n }\n if (typeof mergedData.current.employee?.uuid !== 'string') {\n throw new Error('Employee id is not available')\n }\n\n const hasCompletedSelfOnboarding = checkHasCompletedSelfOnboarding(\n mergedData.current.employee,\n )\n\n //create or update home address - only if not intended for self onboarding or after self onboarding is completed\n if (!isAdmin || !watchedSelfOnboarding || hasCompletedSelfOnboarding) {\n //typeguard: in this scenario payload will contain address information\n if (!payload.selfOnboarding || hasCompletedSelfOnboarding) {\n if ('street1' in payload && 'city' in payload && 'state' in payload && 'zip' in payload) {\n const { street1, street2, city, state, zip, courtesyWithholding } = payload\n if (!mergedData.current.homeAddress) {\n // Creating home address - for new employee effective_date is the same as work start date\n const { employeeAddress } = await createEmployeeHomeAddress({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_CREATED, employeeAddress)\n } else {\n const { employeeAddress } = await mutateEmployeeHomeAddress({\n request: {\n homeAddressUuid: mergedData.current.homeAddress.uuid,\n requestBody: {\n version: mergedData.current.homeAddress.version,\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_UPDATED, employeeAddress)\n }\n }\n }\n }\n\n if (isAdmin) {\n //create or update workaddress\n if (!mergedData.current.workAddress) {\n const { employeeWorkAddress } = await createEmployeeWorkAddress({\n request: {\n employeeId: mergedData.current.employee?.uuid as string,\n requestBody: {\n locationUuid: workAddress,\n effectiveDate: new RFCDate(payload.startDate || new Date()),\n },\n },\n })\n\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_CREATED, employeeWorkAddress)\n } else {\n //effective_date is excluded from update operation since it cannot be changed on initial work address\n const { employeeWorkAddress } = await mutateEmployeeWorkAddress({\n request: {\n workAddressUuid: mergedData.current.workAddress.uuid,\n requestBody: {\n version: mergedData.current.workAddress.version,\n locationUuid: workAddress,\n },\n },\n })\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_UPDATED, employeeWorkAddress)\n }\n }\n\n onEvent(componentEvents.EMPLOYEE_PROFILE_DONE, {\n ...mergedData.current.employee,\n startDate,\n })\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n return (\n <section className={className}>\n <ProfileProvider\n value={{\n companyLocations,\n workAddresses,\n employee: mergedData.current.employee ?? undefined,\n isSelfOnboardingIntended: watchedSelfOnboarding,\n handleCancel,\n isAdmin,\n isSelfOnboardingEnabled,\n hasCompletedSelfOnboarding: checkHasCompletedSelfOnboarding(mergedData.current.employee),\n isPending:\n isPendingEmployeeUpdate ||\n isPendingWorkAddressUpdate ||\n isPendingAddHA ||\n isPendingUpdateHA ||\n isPendingCreateEmployee ||\n isPendingCreateWA ||\n isPendingUpdateOnboardingStatus,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <Grid gridTemplateColumns=\"1fr\" gap={24}>\n <Head />\n <AdminPersonalDetails />\n <SelfPersonalDetails />\n <HomeAddress />\n <WorkAddress />\n </Grid>\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </ProfileProvider>\n </section>\n )\n}\n\nexport const ProfileContextual = () => {\n const { companyId, employeeId, onEvent, isAdmin, defaultValues, isSelfOnboardingEnabled } =\n useFlow<OnboardingContextInterface>()\n\n return (\n <Profile\n companyId={ensureRequired(companyId)}\n employeeId={employeeId}\n onEvent={onEvent}\n isAdmin={isAdmin}\n defaultValues={defaultValues?.profile}\n isSelfOnboardingEnabled={isSelfOnboardingEnabled}\n />\n )\n}\n"],"names":["Profile","props","jsx","BaseComponent","RootWithEmployee","Root","employeeId","employee","useEmployeesGetSuspense","employeeAddressList","useEmployeeAddressesGetSuspense","employeeWorkAddressesList","useEmployeeAddressesGetWorkAddressesSuspense","checkHasCompletedSelfOnboarding","EmployeeOnboardingStatus","isAdmin","isSelfOnboardingEnabled","dictionary","useI18n","useComponentDictionary","companyId","homeAddresses","workAddresses","children","className","defaultValues","onEvent","baseSubmitHandler","useBase","AdminSchema","setAdminSchema","useState","AdminPersonalDetailsSchema","AddressSchema","setAddressSchema","HomeAddressSchema","data","useLocationsGetSuspense","companyLocations","createEmployee","isPendingCreateEmployee","useEmployeesCreateMutation","mutateEmployee","isPendingEmployeeUpdate","useEmployeesUpdateMutation","createEmployeeWorkAddress","isPendingCreateWA","useEmployeeAddressesCreateWorkAddressMutation","mutateEmployeeWorkAddress","isPendingWorkAddressUpdate","useEmployeeAddressesUpdateWorkAddressMutation","createEmployeeHomeAddress","isPendingAddHA","useEmployeeAddressesCreateMutation","mutateEmployeeHomeAddress","isPendingUpdateHA","useEmployeeAddressesUpdateMutation","updateEmployeeOnboardingStatus","isPendingUpdateOnboardingStatus","useEmployeesUpdateOnboardingStatusMutation","existingData","currentHomeAddress","getEmployeeAddressForProfile","currentWorkAddress","address","mergedData","useRef","initialValues","adminDefaultValues","EmployeeSelfOnboardingStatuses","selfDetaultValues","formMethods","useForm","zodResolver","SelfPersonalDetailsSchema","handleSubmit","watchedSelfOnboarding","useWatch","useEffect","hasCompletedSelfOnboarding","AdminSelfOnboardingPersonalDetailsSchema","HomeAddressSchemaWithCompletedOnboarding","onSubmit","payload","workAddress","startDate","selfOnboarding","body","employeeOnboardingStatus","componentEvents","employeeData","RFCDate","street1","street2","city","state","zip","courtesyWithholding","employeeAddress","employeeWorkAddress","handleCancel","ProfileProvider","FormProvider","Form","jsxs","Fragment","Grid","Head","AdminPersonalDetails","SelfPersonalDetails","HomeAddress","WorkAddress","Actions","ProfileContextual","useFlow","ensureRequired"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Profile.js","sources":["../../../../src/components/Employee/Profile/Profile.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { useRef, useState, useEffect } from 'react'\nimport type { SubmitHandler } from 'react-hook-form'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useLocationsGetSuspense } from '@gusto/embedded-api/react-query/locationsGet'\nimport { useEmployeesCreateMutation } from '@gusto/embedded-api/react-query/employeesCreate'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport { type Employee } from '@gusto/embedded-api/models/components/employee'\nimport { useEmployeeAddressesGetSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGet'\nimport { type EmployeeAddress } from '@gusto/embedded-api/models/components/employeeaddress'\nimport { useEmployeeAddressesCreateMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreate'\nimport { useEmployeeAddressesUpdateMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdate'\nimport { useEmployeeAddressesUpdateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesUpdateWorkAddress'\nimport { useEmployeesUpdateMutation } from '@gusto/embedded-api/react-query/employeesUpdate'\nimport { useEmployeeAddressesGetWorkAddressesSuspense } from '@gusto/embedded-api/react-query/employeeAddressesGetWorkAddresses'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { useEmployeeAddressesCreateWorkAddressMutation } from '@gusto/embedded-api/react-query/employeeAddressesCreateWorkAddress'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useEmployeesUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/employeesUpdateOnboardingStatus'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport {\n AdminPersonalDetails,\n AdminPersonalDetailsSchema,\n AdminSelfOnboardingPersonalDetailsSchema,\n} from './AdminPersonalDetails'\nimport { SelfPersonalDetails, SelfPersonalDetailsSchema } from './SelfPersonalDetails'\nimport { type PersonalDetailsPayload, type PersonalDetailsInputs } from './PersonalDetailsInputs'\nimport { Head } from './Head'\nimport { Actions } from './Actions'\nimport {\n HomeAddress,\n HomeAddressSchema,\n HomeAddressSchemaWithCompletedOnboarding,\n type HomeAddressInputs,\n} from './HomeAddress'\nimport { WorkAddress } from './WorkAddress'\nimport { ProfileProvider } from './useProfile'\nimport { getEmployeeAddressForProfile } from './getEmployeeAddressForProfile'\nimport { Grid } from '@/components/Common/Grid/Grid'\nimport { Form } from '@/components/Common/Form'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useI18n } from '@/i18n'\nimport {\n componentEvents,\n EmployeeOnboardingStatus,\n EmployeeSelfOnboardingStatuses,\n} from '@/shared/constants'\nimport type { RequireAtLeastOne, WithRequired } from '@/types/Helpers'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { SDKInternalError } from '@/types/sdkError'\n\nexport type ProfileDefaultValues = RequireAtLeastOne<{\n employee?: RequireAtLeastOne<{\n firstName?: string\n middleInitial?: string\n lastName?: string\n email?: string\n dateOfBirth?: string\n }>\n homeAddress?: RequireAtLeastOne<{\n street1?: string\n street2?: string\n city?: string\n state?: string\n zip?: string\n }>\n inviteEmployeeDefault?: boolean\n}>\ninterface ProfileProps extends CommonComponentInterface<'Employee.Profile'> {\n employeeId?: string\n companyId: string\n defaultValues?: ProfileDefaultValues\n isAdmin?: boolean\n isSelfOnboardingEnabled?: boolean\n}\n\ninterface ProfileConditionalProps {\n employee?: Employee\n homeAddresses?: EmployeeAddress[]\n workAddresses?: EmployeeWorkAddress[]\n}\n\nexport function Profile(props: ProfileProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n {props.employeeId ? (\n <RootWithEmployee {...props} employeeId={props.employeeId}>\n {props.children}\n </RootWithEmployee>\n ) : (\n <Root {...props}>{props.children}</Root>\n )}\n </BaseComponent>\n )\n}\n\n/**Accounting for conditional logic where employee data needs to be fetched only if employeeId is present */\nfunction RootWithEmployee({ employeeId, ...props }: WithRequired<ProfileProps, 'employeeId'>) {\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n const {\n data: { employeeAddressList },\n } = useEmployeeAddressesGetSuspense({ employeeId })\n const {\n data: { employeeWorkAddressesList },\n } = useEmployeeAddressesGetWorkAddressesSuspense({ employeeId })\n return (\n <Root\n {...props}\n employee={employee}\n homeAddresses={employeeAddressList}\n workAddresses={employeeWorkAddressesList}\n />\n )\n}\n\nconst checkHasCompletedSelfOnboarding = (employee?: Employee) => {\n return (\n employee?.onboarded ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_AWAITING_ADMIN_REVIEW ||\n employee?.onboardingStatus === EmployeeOnboardingStatus.SELF_ONBOARDING_COMPLETED_BY_EMPLOYEE\n )\n}\n\nconst Root = ({\n isAdmin = false,\n isSelfOnboardingEnabled = true,\n dictionary,\n ...props\n}: ProfileProps & ProfileConditionalProps) => {\n useI18n('Employee.Profile')\n useI18n('Employee.HomeAddress')\n useComponentDictionary('Employee.Profile', dictionary)\n const {\n companyId,\n employee,\n homeAddresses,\n workAddresses,\n children,\n className = '',\n defaultValues,\n } = props\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [AdminSchema, setAdminSchema] = useState<\n typeof AdminPersonalDetailsSchema | typeof AdminSelfOnboardingPersonalDetailsSchema\n >(AdminPersonalDetailsSchema)\n\n const [AddressSchema, setAddressSchema] = useState<\n typeof HomeAddressSchema | typeof HomeAddressSchemaWithCompletedOnboarding\n >(HomeAddressSchema)\n\n const { data } = useLocationsGetSuspense({ companyId })\n const companyLocations = data.companyLocationsList!\n\n const { mutateAsync: createEmployee, isPending: isPendingCreateEmployee } =\n useEmployeesCreateMutation()\n const { mutateAsync: mutateEmployee, isPending: isPendingEmployeeUpdate } =\n useEmployeesUpdateMutation()\n\n const { mutateAsync: createEmployeeWorkAddress, isPending: isPendingCreateWA } =\n useEmployeeAddressesCreateWorkAddressMutation()\n const { mutateAsync: mutateEmployeeWorkAddress, isPending: isPendingWorkAddressUpdate } =\n useEmployeeAddressesUpdateWorkAddressMutation()\n\n const { mutateAsync: createEmployeeHomeAddress, isPending: isPendingAddHA } =\n useEmployeeAddressesCreateMutation()\n const { mutateAsync: mutateEmployeeHomeAddress, isPending: isPendingUpdateHA } =\n useEmployeeAddressesUpdateMutation()\n\n const {\n mutateAsync: updateEmployeeOnboardingStatus,\n isPending: isPendingUpdateOnboardingStatus,\n } = useEmployeesUpdateOnboardingStatusMutation()\n\n const existingData = { employee, workAddresses, homeAddresses }\n\n const currentHomeAddress = getEmployeeAddressForProfile(homeAddresses)\n\n const currentWorkAddress = existingData.workAddresses?.find(address => address.active)\n const mergedData = useRef({\n employee: existingData.employee,\n homeAddress: currentHomeAddress,\n workAddress: currentWorkAddress,\n })\n const initialValues = {\n firstName: mergedData.current.employee?.firstName ?? defaultValues?.employee?.firstName ?? '',\n middleInitial:\n mergedData.current.employee?.middleInitial ?? defaultValues?.employee?.middleInitial ?? '',\n lastName: mergedData.current.employee?.lastName ?? defaultValues?.employee?.lastName ?? '',\n workAddress: mergedData.current.workAddress?.locationUuid,\n startDate: mergedData.current.employee?.jobs?.[0]?.hireDate\n ? new Date(mergedData.current.employee.jobs[0].hireDate)\n : null, // By default employee response contains only current job - therefore jobs[0]\n email: mergedData.current.employee?.email ?? defaultValues?.employee?.email ?? '',\n dateOfBirth: mergedData.current.employee?.dateOfBirth\n ? new Date(mergedData.current.employee.dateOfBirth)\n : defaultValues?.employee?.dateOfBirth\n ? new Date(defaultValues.employee.dateOfBirth)\n : null,\n\n street1: mergedData.current.homeAddress?.street1 ?? defaultValues?.homeAddress?.street1 ?? '',\n street2: mergedData.current.homeAddress?.street2 ?? defaultValues?.homeAddress?.street2 ?? '',\n city: mergedData.current.homeAddress?.city ?? defaultValues?.homeAddress?.city ?? '',\n zip: mergedData.current.homeAddress?.zip ?? defaultValues?.homeAddress?.zip ?? '',\n state: mergedData.current.homeAddress?.state ?? defaultValues?.homeAddress?.state ?? '',\n courtesyWithholding: mergedData.current.homeAddress?.courtesyWithholding ?? false,\n }\n\n const adminDefaultValues =\n mergedData.current.employee?.onboarded ||\n mergedData.current.employee?.onboardingStatus ===\n EmployeeOnboardingStatus.ONBOARDING_COMPLETED ||\n (mergedData.current.employee?.onboardingStatus !== undefined &&\n mergedData.current.employee.onboardingStatus !==\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE)\n ? { ...initialValues, enableSsn: false, selfOnboarding: true }\n : {\n ...initialValues,\n selfOnboarding: isSelfOnboardingEnabled\n ? mergedData.current.employee?.onboardingStatus\n ? // @ts-expect-error: onboarding_status during runtime can be one of self onboarding statuses\n EmployeeSelfOnboardingStatuses.has(mergedData.current.employee.onboarding_status)\n : (defaultValues?.inviteEmployeeDefault ?? false)\n : false,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n } // In edit mode ssn is submitted only if it has been modified\n\n const selfDetaultValues = {\n ...initialValues,\n enableSsn: !mergedData.current.employee?.hasSsn,\n ssn: '',\n }\n\n const formMethods = useForm<\n PersonalDetailsInputs & HomeAddressInputs,\n unknown,\n PersonalDetailsPayload & HomeAddressInputs\n >({\n // @ts-expect-error: Zod 4 discriminated union intersection produces narrower types than NullableDatesMapper expects\n resolver: zodResolver((isAdmin ? AdminSchema : SelfPersonalDetailsSchema).and(AddressSchema)),\n defaultValues: isAdmin ? adminDefaultValues : selfDetaultValues,\n })\n\n const { handleSubmit } = formMethods\n const watchedSelfOnboarding = useWatch({ control: formMethods.control, name: 'selfOnboarding' })\n\n useEffect(() => {\n if (isAdmin) {\n const hasCompletedSelfOnboarding = checkHasCompletedSelfOnboarding(employee)\n\n if (watchedSelfOnboarding && !hasCompletedSelfOnboarding) {\n setAdminSchema(AdminSelfOnboardingPersonalDetailsSchema)\n } else {\n setAdminSchema(AdminPersonalDetailsSchema)\n }\n\n if (watchedSelfOnboarding && hasCompletedSelfOnboarding) {\n setAddressSchema(HomeAddressSchemaWithCompletedOnboarding)\n } else {\n setAddressSchema(HomeAddressSchema)\n }\n }\n }, [watchedSelfOnboarding, isAdmin, employee?.onboardingStatus, employee?.onboarded])\n\n const onSubmit: SubmitHandler<PersonalDetailsPayload & HomeAddressInputs> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { workAddress, startDate, selfOnboarding, ...body } = payload\n //create or update employee\n if (!mergedData.current.employee) {\n const { employee: employeeData } = await createEmployee({\n request: {\n companyId,\n requestBody: {\n ...body,\n selfOnboarding,\n dateOfBirth: body.dateOfBirth ? new RFCDate(body.dateOfBirth) : undefined,\n },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_CREATED, employeeData)\n } else {\n // Updating self-onboarding status\n if (\n isAdmin &&\n ((selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE) ||\n (!selfOnboarding &&\n mergedData.current.employee.onboardingStatus ===\n EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE))\n ) {\n const { employeeOnboardingStatus } = await updateEmployeeOnboardingStatus({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n onboardingStatus: selfOnboarding\n ? EmployeeOnboardingStatus.SELF_ONBOARDING_PENDING_INVITE\n : EmployeeOnboardingStatus.ADMIN_ONBOARDING_INCOMPLETE,\n },\n },\n })\n mergedData.current.employee = {\n ...mergedData.current.employee,\n onboardingStatus: employeeOnboardingStatus!\n .onboardingStatus as (typeof EmployeeOnboardingStatus)[keyof typeof EmployeeOnboardingStatus],\n }\n onEvent(componentEvents.EMPLOYEE_ONBOARDING_STATUS_UPDATED, employeeOnboardingStatus)\n }\n const { employee: employeeData } = await mutateEmployee({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: { ...body, version: mergedData.current.employee.version as string },\n },\n })\n mergedData.current = { ...mergedData.current, employee: employeeData }\n onEvent(componentEvents.EMPLOYEE_UPDATED, employeeData)\n }\n if (typeof mergedData.current.employee?.uuid !== 'string') {\n throw new SDKInternalError('Employee id is not available')\n }\n\n const hasCompletedSelfOnboarding = checkHasCompletedSelfOnboarding(\n mergedData.current.employee,\n )\n\n //create or update home address - only if not intended for self onboarding or after self onboarding is completed\n if (!isAdmin || !watchedSelfOnboarding || hasCompletedSelfOnboarding) {\n //typeguard: in this scenario payload will contain address information\n if (!payload.selfOnboarding || hasCompletedSelfOnboarding) {\n if ('street1' in payload && 'city' in payload && 'state' in payload && 'zip' in payload) {\n const { street1, street2, city, state, zip, courtesyWithholding } = payload\n if (!mergedData.current.homeAddress) {\n // Creating home address - for new employee effective_date is the same as work start date\n const { employeeAddress } = await createEmployeeHomeAddress({\n request: {\n employeeId: mergedData.current.employee.uuid,\n requestBody: {\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_CREATED, employeeAddress)\n } else {\n const { employeeAddress } = await mutateEmployeeHomeAddress({\n request: {\n homeAddressUuid: mergedData.current.homeAddress.uuid,\n requestBody: {\n version: mergedData.current.homeAddress.version,\n street1,\n street2,\n city,\n state,\n zip,\n courtesyWithholding,\n },\n },\n })\n mergedData.current = { ...mergedData.current, homeAddress: employeeAddress }\n onEvent(componentEvents.EMPLOYEE_HOME_ADDRESS_UPDATED, employeeAddress)\n }\n }\n }\n }\n\n if (isAdmin) {\n //create or update workaddress\n if (!mergedData.current.workAddress) {\n const { employeeWorkAddress } = await createEmployeeWorkAddress({\n request: {\n employeeId: mergedData.current.employee?.uuid as string,\n requestBody: {\n locationUuid: workAddress,\n effectiveDate: new RFCDate(payload.startDate || new Date()),\n },\n },\n })\n\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_CREATED, employeeWorkAddress)\n } else {\n //effective_date is excluded from update operation since it cannot be changed on initial work address\n const { employeeWorkAddress } = await mutateEmployeeWorkAddress({\n request: {\n workAddressUuid: mergedData.current.workAddress.uuid,\n requestBody: {\n version: mergedData.current.workAddress.version,\n locationUuid: workAddress,\n },\n },\n })\n mergedData.current = { ...mergedData.current, workAddress: employeeWorkAddress }\n onEvent(componentEvents.EMPLOYEE_WORK_ADDRESS_UPDATED, employeeWorkAddress)\n }\n }\n\n onEvent(componentEvents.EMPLOYEE_PROFILE_DONE, {\n ...mergedData.current.employee,\n startDate,\n })\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n return (\n <section className={className}>\n <ProfileProvider\n value={{\n companyLocations,\n workAddresses,\n employee: mergedData.current.employee ?? undefined,\n isSelfOnboardingIntended: watchedSelfOnboarding,\n handleCancel,\n isAdmin,\n isSelfOnboardingEnabled,\n hasCompletedSelfOnboarding: checkHasCompletedSelfOnboarding(mergedData.current.employee),\n isPending:\n isPendingEmployeeUpdate ||\n isPendingWorkAddressUpdate ||\n isPendingAddHA ||\n isPendingUpdateHA ||\n isPendingCreateEmployee ||\n isPendingCreateWA ||\n isPendingUpdateOnboardingStatus,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <Grid gridTemplateColumns=\"1fr\" gap={24}>\n <Head />\n <AdminPersonalDetails />\n <SelfPersonalDetails />\n <HomeAddress />\n <WorkAddress />\n </Grid>\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </ProfileProvider>\n </section>\n )\n}\n\nexport const ProfileContextual = () => {\n const { companyId, employeeId, onEvent, isAdmin, defaultValues, isSelfOnboardingEnabled } =\n useFlow<OnboardingContextInterface>()\n\n return (\n <Profile\n companyId={ensureRequired(companyId)}\n employeeId={employeeId}\n onEvent={onEvent}\n isAdmin={isAdmin}\n defaultValues={defaultValues?.profile}\n isSelfOnboardingEnabled={isSelfOnboardingEnabled}\n />\n )\n}\n"],"names":["Profile","props","jsx","BaseComponent","RootWithEmployee","Root","employeeId","employee","useEmployeesGetSuspense","employeeAddressList","useEmployeeAddressesGetSuspense","employeeWorkAddressesList","useEmployeeAddressesGetWorkAddressesSuspense","checkHasCompletedSelfOnboarding","EmployeeOnboardingStatus","isAdmin","isSelfOnboardingEnabled","dictionary","useI18n","useComponentDictionary","companyId","homeAddresses","workAddresses","children","className","defaultValues","onEvent","baseSubmitHandler","useBase","AdminSchema","setAdminSchema","useState","AdminPersonalDetailsSchema","AddressSchema","setAddressSchema","HomeAddressSchema","data","useLocationsGetSuspense","companyLocations","createEmployee","isPendingCreateEmployee","useEmployeesCreateMutation","mutateEmployee","isPendingEmployeeUpdate","useEmployeesUpdateMutation","createEmployeeWorkAddress","isPendingCreateWA","useEmployeeAddressesCreateWorkAddressMutation","mutateEmployeeWorkAddress","isPendingWorkAddressUpdate","useEmployeeAddressesUpdateWorkAddressMutation","createEmployeeHomeAddress","isPendingAddHA","useEmployeeAddressesCreateMutation","mutateEmployeeHomeAddress","isPendingUpdateHA","useEmployeeAddressesUpdateMutation","updateEmployeeOnboardingStatus","isPendingUpdateOnboardingStatus","useEmployeesUpdateOnboardingStatusMutation","existingData","currentHomeAddress","getEmployeeAddressForProfile","currentWorkAddress","address","mergedData","useRef","initialValues","adminDefaultValues","EmployeeSelfOnboardingStatuses","selfDetaultValues","formMethods","useForm","zodResolver","SelfPersonalDetailsSchema","handleSubmit","watchedSelfOnboarding","useWatch","useEffect","hasCompletedSelfOnboarding","AdminSelfOnboardingPersonalDetailsSchema","HomeAddressSchemaWithCompletedOnboarding","onSubmit","payload","workAddress","startDate","selfOnboarding","body","employeeOnboardingStatus","componentEvents","employeeData","RFCDate","SDKInternalError","street1","street2","city","state","zip","courtesyWithholding","employeeAddress","employeeWorkAddress","handleCancel","ProfileProvider","FormProvider","Form","jsxs","Fragment","Grid","Head","AdminPersonalDetails","SelfPersonalDetails","HomeAddress","WorkAddress","Actions","ProfileContextual","useFlow","ensureRequired"],"mappings":"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"}
|
|
@@ -2,20 +2,21 @@ import "react/jsx-runtime";
|
|
|
2
2
|
import "react";
|
|
3
3
|
import "react-error-boundary";
|
|
4
4
|
import "react-i18next";
|
|
5
|
-
import "@gusto/embedded-api/models/errors/gustoembeddederror";
|
|
6
|
-
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
7
5
|
import "@tanstack/react-query";
|
|
8
6
|
import "../../Base/useBase.js";
|
|
7
|
+
import "@gusto/embedded-api/models/errors/apierror";
|
|
8
|
+
import "@gusto/embedded-api/models/errors/gustoembeddederror";
|
|
9
|
+
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
10
|
+
import "@gusto/embedded-api/models/errors/unprocessableentityerrorobject";
|
|
11
|
+
import "@gusto/embedded-api/models/errors/httpclienterrors";
|
|
9
12
|
import "../../../shared/constants.js";
|
|
10
13
|
import "classnames";
|
|
11
14
|
import "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
15
|
import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
13
|
-
import "dompurify";
|
|
14
|
-
import "../../../contexts/LocaleProvider/useLocale.js";
|
|
15
16
|
import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
|
|
16
|
-
const [
|
|
17
|
+
const [a, v] = o("ProfileContext");
|
|
17
18
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
v as ProfileProvider,
|
|
20
|
+
a as useProfile
|
|
20
21
|
};
|
|
21
22
|
//# sourceMappingURL=useProfile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProfile.js","sources":["../../../../src/components/Employee/Profile/useProfile.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype ProfileContextType = {\n companyLocations: Location[]\n workAddresses?: EmployeeWorkAddress[]\n employee?: Employee\n isSelfOnboardingIntended?: boolean\n isPending: boolean\n isAdmin: boolean\n handleCancel: () => void\n isSelfOnboardingEnabled: boolean\n hasCompletedSelfOnboarding: boolean\n}\n\nconst [useProfile, ProfileProvider] = createCompoundContext<ProfileContextType>('ProfileContext')\nexport { useProfile, ProfileProvider }\n"],"names":["useProfile","ProfileProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useProfile.js","sources":["../../../../src/components/Employee/Profile/useProfile.ts"],"sourcesContent":["import type { Employee } from '@gusto/embedded-api/models/components/employee'\nimport type { EmployeeWorkAddress } from '@gusto/embedded-api/models/components/employeeworkaddress'\nimport { type Location } from '@gusto/embedded-api/models/components/location'\nimport { createCompoundContext } from '@/components/Base'\n\n//Interface for context passed down to component slots\ntype ProfileContextType = {\n companyLocations: Location[]\n workAddresses?: EmployeeWorkAddress[]\n employee?: Employee\n isSelfOnboardingIntended?: boolean\n isPending: boolean\n isAdmin: boolean\n handleCancel: () => void\n isSelfOnboardingEnabled: boolean\n hasCompletedSelfOnboarding: boolean\n}\n\nconst [useProfile, ProfileProvider] = createCompoundContext<ProfileContextType>('ProfileContext')\nexport { useProfile, ProfileProvider }\n"],"names":["useProfile","ProfileProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAM,CAACA,GAAYC,CAAe,IAAIC,EAA0C,gBAAgB;"}
|