@gusto/embedded-react-sdk 0.44.1 → 0.45.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 +63 -0
- package/dist/components/Common/DetailViewLayout/DetailViewLayout.js +7 -7
- package/dist/components/Common/DetailViewLayout/DetailViewLayout.js.map +1 -1
- package/dist/components/Common/UI/Alert/Alert.js +24 -23
- package/dist/components/Common/UI/Alert/Alert.js.map +1 -1
- package/dist/components/Common/UI/Alert/Alert.module.scss.js +16 -14
- package/dist/components/Common/UI/Alert/Alert.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Alert/AlertTypes.d.ts +8 -0
- package/dist/components/Common/UI/Alert/AlertTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +38 -38
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -20
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/Head.js +12 -9
- package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +25 -25
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -20
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -22
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Head.js +11 -8
- package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -20
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Head.js +44 -39
- package/dist/components/Company/BankAccount/BankAccountList/Head.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -20
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +28 -28
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +9 -9
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Head.js +7 -6
- package/dist/components/Company/FederalTaxes/Head.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +12 -28
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +7 -23
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Head.js +10 -9
- package/dist/components/Company/Industry/Head.js.map +1 -1
- package/dist/components/Company/Industry/IndustrySelect.js +22 -19
- package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Head.js +9 -8
- package/dist/components/Company/Locations/LocationForm/Head.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -20
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Head.js +11 -10
- package/dist/components/Company/Locations/LocationsList/Head.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +11 -11
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -20
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +4 -20
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleList.js +18 -18
- package/dist/components/Company/PaySchedule/PayScheduleList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -20
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -20
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +6 -22
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +7 -7
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +2 -2
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +42 -52
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Compensation/index.d.ts +1 -1
- package/dist/components/Employee/Compensation/{Compensation.d.ts → onboarding/Compensation.d.ts} +3 -3
- package/dist/components/Employee/Compensation/onboarding/Compensation.js +88 -0
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -0
- package/dist/components/Employee/Compensation/{CompensationFlowComponents.d.ts → onboarding/CompensationFlowComponents.d.ts} +3 -3
- package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.js +59 -0
- package/dist/components/Employee/Compensation/onboarding/CompensationFlowComponents.js.map +1 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +21 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +249 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.module.scss.js +8 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.module.scss.js.map +1 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/index.d.ts +3 -0
- package/dist/components/Employee/Compensation/{JobsList → onboarding/JobsList}/JobsList.d.ts +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js +43 -0
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -0
- package/dist/components/Employee/Compensation/{JobsList → onboarding/JobsList}/JobsListPresentation.js +10 -10
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsListPresentation.js.map +1 -0
- package/dist/components/Employee/Compensation/{compensationStateMachine.js → onboarding/compensationStateMachine.js} +1 -1
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -0
- package/dist/components/Employee/Compensation/onboarding/index.d.ts +2 -0
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.d.ts +9 -0
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.js +10 -0
- package/dist/components/Employee/Compensation/shared/derivePrimaryFlsaStatus.js.map +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +7 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js +41 -35
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/index.d.ts +0 -2
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.d.ts +24 -3
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +193 -181
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/index.d.ts +0 -2
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +8 -0
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js +14 -13
- package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.d.ts +19 -2
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js +133 -130
- package/dist/components/Employee/Compensation/shared/useJobForm/useJobForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/BasicDetailsView.d.ts +13 -0
- package/dist/components/Employee/Dashboard/BasicDetailsView.js +87 -65
- package/dist/components/Employee/Dashboard/BasicDetailsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/CompensationCard.d.ts +13 -0
- package/dist/components/Employee/Dashboard/Dashboard.js +89 -109
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardComponents.d.ts +15 -0
- package/dist/components/Employee/Dashboard/DashboardComponents.js +120 -25
- package/dist/components/Employee/Dashboard/DashboardComponents.js.map +1 -1
- package/dist/components/Employee/Dashboard/DocumentsView.d.ts +11 -0
- package/dist/components/Employee/Dashboard/DocumentsView.js +24 -17
- package/dist/components/Employee/Dashboard/DocumentsView.js.map +1 -1
- package/dist/components/Employee/Dashboard/JobAndPayView.d.ts +9 -17
- package/dist/components/Employee/Dashboard/JobAndPayView.js +495 -114
- package/dist/components/Employee/Dashboard/JobAndPayView.js.map +1 -1
- package/dist/components/Employee/Dashboard/PendingChangesReviewModal.d.ts +10 -0
- package/dist/components/Employee/Dashboard/PendingChangesReviewModal.js +64 -0
- package/dist/components/Employee/Dashboard/PendingChangesReviewModal.js.map +1 -0
- package/dist/components/Employee/Dashboard/TaxesView.d.ts +13 -0
- package/dist/components/Employee/Dashboard/TaxesView.js +82 -60
- package/dist/components/Employee/Dashboard/TaxesView.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +7 -0
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +227 -40
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.d.ts +50 -0
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js +57 -0
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.js.map +1 -0
- package/dist/components/Employee/Dashboard/getPendingCompensationChanges.test.d.ts +1 -0
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js +7 -4
- package/dist/components/Employee/Dashboard/hooks/useEmployeeBasicDetails.js.map +1 -1
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.d.ts +14 -8
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js +60 -36
- package/dist/components/Employee/Dashboard/hooks/useEmployeeCompensation.js.map +1 -1
- package/dist/components/Employee/Dashboard/usePendingChangeDetailRenderer.d.ts +8 -0
- package/dist/components/Employee/Dashboard/usePendingChangeDetailRenderer.js +61 -0
- package/dist/components/Employee/Dashboard/usePendingChangeDetailRenderer.js.map +1 -0
- package/dist/components/Employee/Deductions/Deductions.d.ts +2 -8
- package/dist/components/Employee/Deductions/Deductions.js +25 -52
- package/dist/components/Employee/Deductions/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportFormView.d.ts +9 -0
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportFormView.js +137 -0
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportFormView.js.map +1 -0
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.d.ts +9 -5
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +97 -94
- package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.d.ts +18 -0
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js +137 -0
- package/dist/components/Employee/Deductions/DeductionsForm/StandardDeductionForm.js.map +1 -0
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.d.ts +10 -5
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js +57 -77
- package/dist/components/Employee/Deductions/DeductionsList/DeductionsList.js.map +1 -1
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.d.ts +5 -5
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +29 -39
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -1
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.module.scss.js +8 -6
- package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.module.scss.js.map +1 -1
- package/dist/components/Employee/Deductions/{DeductionsComponents.d.ts → deductionsContextualComponents.d.ts} +7 -8
- package/dist/components/Employee/Deductions/deductionsContextualComponents.js +74 -0
- package/dist/components/Employee/Deductions/deductionsContextualComponents.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.d.ts +7 -0
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.js +31 -0
- package/dist/components/Employee/Deductions/shared/DeleteDeductionDialog.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.d.ts +7 -0
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.js +10 -0
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/formatDeductionAmount.test.d.ts +1 -0
- package/dist/components/Employee/Deductions/shared/index.d.ts +7 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +63 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js +64 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.d.ts +36 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +39 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/index.d.ts +4 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +62 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js +208 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +63 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js +52 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.d.ts +25 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +36 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/index.d.ts +4 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.d.ts +64 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js +203 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useDeductionsList.d.ts +22 -0
- package/dist/components/Employee/Deductions/shared/useDeductionsList.js +50 -0
- package/dist/components/Employee/Deductions/shared/useDeductionsList.js.map +1 -0
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.d.ts +13 -0
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.js +17 -0
- package/dist/components/Employee/Deductions/shared/useDeleteDeduction.js.map +1 -0
- package/dist/components/Employee/Deductions/stateMachine.d.ts +4 -5
- package/dist/components/Employee/Deductions/stateMachine.js +67 -89
- package/dist/components/Employee/Deductions/stateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.d.ts +6 -0
- package/dist/components/Employee/Documents/management/DocumentManager.js +60 -0
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -0
- package/dist/components/Employee/Documents/management/index.d.ts +3 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/Actions.js +3 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/DocumentList.d.ts +1 -1
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/DocumentList.js +5 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/Head.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Head.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/List.js +3 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js.map +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +8 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentSigner.d.ts +1 -1
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentSigner.js +5 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/EmploymentEligibility.d.ts +1 -1
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/EmploymentEligibility.js +4 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/EmploymentEligibilityPresentation.js +11 -11
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.test.d.ts +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/countries.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/I9SignatureForm/I9SignatureForm.d.ts +1 -1
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/I9SignatureForm/I9SignatureForm.js +11 -11
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/documentSignerStateMachine.d.ts +2 -2
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/documentSignerStateMachine.js +8 -8
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/documentSignerStateMachine.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/stateMachine.js +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -0
- package/dist/components/Employee/{EmployeeDocuments → Documents/onboarding/EmployeeDocuments}/EmployeeDocuments.d.ts +3 -3
- package/dist/components/Employee/{EmployeeDocuments → Documents/onboarding/EmployeeDocuments}/EmployeeDocuments.js +6 -6
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -0
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +117 -0
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -0
- package/dist/components/Employee/{DocumentSigner → Documents/shared}/SignatureForm/SignatureForm.d.ts +1 -1
- package/dist/components/Employee/{DocumentSigner → Documents/shared}/SignatureForm/SignatureForm.js +11 -11
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -0
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js.map +1 -0
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -0
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +1 -0
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +89 -82
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +37 -35
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -0
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +14 -8
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +38 -39
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +29 -27
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/index.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/management/ListView.d.ts +8 -0
- package/dist/components/Employee/PaymentMethod/management/ListView.js +138 -0
- package/dist/components/Employee/PaymentMethod/management/ListView.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +11 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +49 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.d.ts +8 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js +23 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/management/index.d.ts +4 -0
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.d.ts +5 -0
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +75 -0
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.d.ts +8 -0
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +66 -0
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.d.ts +9 -0
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +168 -0
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +11 -0
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +44 -0
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.d.ts +8 -0
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.js +23 -0
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/onboarding/SplitView.d.ts +8 -0
- package/dist/components/Employee/PaymentMethod/onboarding/SplitView.js +97 -0
- package/dist/components/Employee/PaymentMethod/onboarding/SplitView.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/onboarding/index.d.ts +2 -0
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.d.ts +5 -0
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +75 -0
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/DeleteBankAccountDialog.d.ts +9 -0
- package/dist/components/Employee/PaymentMethod/shared/DeleteBankAccountDialog.js +31 -0
- package/dist/components/Employee/PaymentMethod/shared/DeleteBankAccountDialog.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/index.d.ts +7 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.d.ts +15 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +22 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/index.d.ts +5 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +37 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js +105 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +39 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js +26 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useDeleteBankAccount.d.ts +13 -0
- package/dist/components/Employee/PaymentMethod/shared/useDeleteBankAccount.js +19 -0
- package/dist/components/Employee/PaymentMethod/shared/useDeleteBankAccount.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/fields.d.ts +6 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/fields.js +9 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/fields.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/index.d.ts +5 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +31 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js +94 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +31 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.js +22 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.d.ts +20 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js +68 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodList.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/fields.d.ts +6 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/fields.js +9 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/fields.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/index.d.ts +6 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.d.ts +48 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +46 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +65 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js +209 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +53 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.js +93 -0
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.js.map +1 -0
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +88 -87
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js +2 -2
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +19 -17
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.module.scss.js +8 -0
- package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.module.scss.js.map +1 -0
- package/dist/components/Employee/Taxes/FederalForm.js +27 -26
- package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
- package/dist/components/Employee/Taxes/FederalHead.js +13 -10
- package/dist/components/Employee/Taxes/FederalHead.js.map +1 -1
- package/dist/components/Employee/Taxes/StateForm.js +17 -14
- package/dist/components/Employee/Taxes/StateForm.js.map +1 -1
- package/dist/components/Employee/Taxes/Taxes.js +75 -69
- package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
- package/dist/components/Employee/Taxes/useTaxes.js +4 -20
- package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +26 -26
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/exports/employeeManagement.d.ts +4 -1
- package/dist/components/Employee/exports/employeeManagement.js +22 -18
- package/dist/components/Employee/exports/employeeManagement.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
- package/dist/components/Employee/exports/employeeOnboarding.js +4 -4
- package/dist/components/Employee/index.d.ts +4 -4
- package/dist/components/Employee/index.js +5 -5
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +26 -34
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +35 -35
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +71 -54
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +22 -36
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +84 -82
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +49 -48
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +1 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +39 -37
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +31 -31
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +1 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.js +27 -27
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +50 -50
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +1 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +66 -41
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +59 -48
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +3 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +34 -33
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +3 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +69 -61
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +119 -75
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +72 -61
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +103 -84
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +51 -49
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +78 -59
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js +8 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.module.scss.js.map +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +6 -2
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +209 -154
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.d.ts +3 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js +36 -34
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +136 -134
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.module.scss.js +6 -6
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +63 -65
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +1 -0
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +50 -49
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.module.scss.js +4 -4
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +66 -55
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +1 -0
- package/dist/contexts/ApiProvider/ApiProvider.js +33 -39
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.d.ts +17 -0
- package/dist/contexts/ApiProvider/createSdkQueryClient.js +14 -0
- package/dist/contexts/ApiProvider/createSdkQueryClient.js.map +1 -0
- package/dist/helpers/dateFormatting.js +52 -56
- package/dist/helpers/dateFormatting.js.map +1 -1
- package/dist/helpers/formattedStrings.d.ts +12 -0
- package/dist/helpers/formattedStrings.js +55 -33
- package/dist/helpers/formattedStrings.js.map +1 -1
- package/dist/hooks/useClientPagination/useClientPagination.d.ts +44 -0
- package/dist/hooks/useClientPagination/useClientPagination.js +69 -0
- package/dist/hooks/useClientPagination/useClientPagination.js.map +1 -0
- package/dist/hooks/useClientPagination/useClientPagination.test.d.ts +1 -0
- package/dist/i18n/I18n.js +6 -5
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
- package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js +8 -6
- package/dist/i18n/en/Company.TimeOff.CreateTimeOffPolicy.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.HolidayPolicy.json.js +9 -9
- package/dist/i18n/en/Company.TimeOff.PolicyDetail.json.js +6 -4
- package/dist/i18n/en/Company.TimeOff.PolicyDetail.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js +17 -15
- package/dist/i18n/en/Company.TimeOff.SelectEmployees.json.js.map +1 -1
- package/dist/i18n/en/Company.TimeOff.SelectPolicyType.json.js +10 -8
- package/dist/i18n/en/Company.TimeOff.SelectPolicyType.json.js.map +1 -1
- package/dist/i18n/en/Employee.Dashboard.json.js +16 -12
- package/dist/i18n/en/Employee.Dashboard.json.js.map +1 -1
- package/dist/i18n/en/Employee.Deductions.json.js +104 -76
- package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
- package/dist/i18n/en/Employee.DocumentManager.json.js +12 -0
- package/dist/i18n/en/Employee.DocumentManager.json.js.map +1 -0
- package/dist/i18n/en/Employee.PaymentMethod.json.js +76 -64
- package/dist/i18n/en/Employee.PaymentMethod.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +7 -0
- package/dist/i18n/en/common.json.js +19 -17
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/index.d.ts +16 -6
- package/dist/index.js +138 -112
- package/dist/index.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.d.ts +2 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +20 -18
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/shared/constants.d.ts +8 -2
- package/dist/shared/constants.js +11 -8
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/test-utils/assertions.d.ts +20 -0
- package/dist/types/i18next.d.ts +140 -4
- package/dist/types/sdkError.js +58 -47
- package/dist/types/sdkError.js.map +1 -1
- package/docs/reference/endpoint-inventory.json +980 -1170
- package/package.json +33 -22
- package/dist/components/Employee/Compensation/Compensation.js +0 -87
- package/dist/components/Employee/Compensation/Compensation.js.map +0 -1
- package/dist/components/Employee/Compensation/CompensationFlowComponents.js +0 -61
- package/dist/components/Employee/Compensation/CompensationFlowComponents.js.map +0 -1
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensation.d.ts +0 -14
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensation.js +0 -128
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensation.js.map +0 -1
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensationPresentation.d.ts +0 -17
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensationPresentation.js +0 -224
- package/dist/components/Employee/Compensation/EditCompensation/EditCompensationPresentation.js.map +0 -1
- package/dist/components/Employee/Compensation/EditCompensation/index.d.ts +0 -5
- package/dist/components/Employee/Compensation/JobsList/JobsList.js +0 -47
- package/dist/components/Employee/Compensation/JobsList/JobsList.js.map +0 -1
- package/dist/components/Employee/Compensation/JobsList/JobsListPresentation.js.map +0 -1
- package/dist/components/Employee/Compensation/compensationSchema.d.ts +0 -29
- package/dist/components/Employee/Compensation/compensationSchema.js +0 -63
- package/dist/components/Employee/Compensation/compensationSchema.js.map +0 -1
- package/dist/components/Employee/Compensation/compensationStateMachine.js.map +0 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCurrentCompensationForm.d.ts +0 -15
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCurrentCompensationForm.js +0 -27
- package/dist/components/Employee/Compensation/shared/useCompensationForm/useCurrentCompensationForm.js.map +0 -1
- package/dist/components/Employee/Compensation/shared/useJobForm/useCurrentJobForm.d.ts +0 -13
- package/dist/components/Employee/Compensation/shared/useJobForm/useCurrentJobForm.js +0 -26
- package/dist/components/Employee/Compensation/shared/useJobForm/useCurrentJobForm.js.map +0 -1
- package/dist/components/Employee/Deductions/Actions.d.ts +0 -1
- package/dist/components/Employee/Deductions/DeductionsComponents.js +0 -31
- package/dist/components/Employee/Deductions/DeductionsComponents.js.map +0 -1
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.d.ts +0 -39
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +0 -237
- package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +0 -1
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +0 -22
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +0 -162
- package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +0 -1
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.d.ts +0 -34
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +0 -168
- package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +0 -1
- package/dist/components/Employee/Deductions/Head.d.ts +0 -1
- package/dist/components/Employee/Deductions/useDeductions.d.ts +0 -30
- package/dist/components/Employee/DocumentSigner/DocumentList/Actions.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/DocumentList.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/Head.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/List.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +0 -24
- package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/DocumentSigner.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/EmploymentEligibility/countries.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/SignatureForm/SignatureForm.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/documentSignerStateMachine.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/fields.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/shared/useSignEmployeeForm/useSignEmployeeForm.js.map +0 -1
- package/dist/components/Employee/DocumentSigner/stateMachine.js.map +0 -1
- package/dist/components/Employee/EmployeeDocuments/EmployeeDocuments.js.map +0 -1
- package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js +0 -115
- package/dist/components/Employee/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/Actions.d.ts +0 -1
- package/dist/components/Employee/PaymentMethod/Actions.js +0 -20
- package/dist/components/Employee/PaymentMethod/Actions.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/BankAccount.d.ts +0 -13
- package/dist/components/Employee/PaymentMethod/BankAccount.js +0 -13
- package/dist/components/Employee/PaymentMethod/BankAccount.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/BankAccountEdit.d.ts +0 -1
- package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +0 -58
- package/dist/components/Employee/PaymentMethod/BankAccountEdit.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/BankAccountsList.d.ts +0 -1
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js +0 -51
- package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/Head.d.ts +0 -1
- package/dist/components/Employee/PaymentMethod/Head.js +0 -13
- package/dist/components/Employee/PaymentMethod/Head.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/PaymentMethod.d.ts +0 -9
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js +0 -183
- package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/PaymentTypeForm.d.ts +0 -10
- package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +0 -38
- package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/Split.d.ts +0 -1
- package/dist/components/Employee/PaymentMethod/Split.js +0 -175
- package/dist/components/Employee/PaymentMethod/Split.js.map +0 -1
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.d.ts +0 -54
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +0 -68
- package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +0 -1
- /package/dist/components/Employee/Compensation/{JobsList → onboarding/JobsList}/JobsListPresentation.d.ts +0 -0
- /package/dist/components/Employee/Compensation/{JobsList → onboarding/JobsList}/index.d.ts +0 -0
- /package/dist/components/Employee/Compensation/{compensationStateMachine.d.ts → onboarding/compensationStateMachine.d.ts} +0 -0
- /package/dist/components/Employee/{DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.test.d.ts → Compensation/shared/derivePrimaryFlsaStatus.test.d.ts} +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/Actions.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/Head.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/List.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/DocumentList/useDocumentList.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/EmploymentEligibilitySchema.js +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/countries.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/countries.js +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/EmploymentEligibility/index.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/I9SignatureForm/I9SignatureForm.module.scss.js +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/I9SignatureForm/I9SignatureForm.module.scss.js.map +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/index.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents/onboarding/DocumentSigner}/stateMachine.d.ts +0 -0
- /package/dist/components/Employee/{EmployeeDocuments → Documents/onboarding/EmployeeDocuments}/EmployeeDocumentsPresentation.d.ts +0 -0
- /package/dist/components/Employee/{EmployeeDocuments → Documents/onboarding/EmployeeDocuments}/index.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/fields.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/fields.js +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/index.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/signEmployeeFormSchema.js +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/useSignEmployeeForm.d.ts +0 -0
- /package/dist/components/Employee/{DocumentSigner → Documents}/shared/useSignEmployeeForm/useSignEmployeeForm.js +0 -0
package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js
ADDED
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { useMemo as f, useEffect as $, useRef as R, useCallback as st } from "react";
|
|
2
|
+
import { useForm as ut, useWatch as L, useFormState as mt } from "react-hook-form";
|
|
3
|
+
import { zodResolver as at } from "@hookform/resolvers/zod";
|
|
4
|
+
import { useEmployeePaymentMethodGet as ct } from "@gusto/embedded-api/react-query/employeePaymentMethodGet";
|
|
5
|
+
import { useEmployeePaymentMethodsGetBankAccounts as lt } from "@gusto/embedded-api/react-query/employeePaymentMethodsGetBankAccounts";
|
|
6
|
+
import { useEmployeePaymentMethodUpdateMutation as pt } from "@gusto/embedded-api/react-query/employeePaymentMethodUpdate";
|
|
7
|
+
import { createSplitPaymentsFormSchema as dt, PERCENTAGE_TOTAL_PATH as j, SplitPaymentsFormErrorCodes as yt, SPLIT_BY_VALUES as Y } from "./useSplitPaymentsFormSchema.js";
|
|
8
|
+
import { SplitByField as ft } from "./fields.js";
|
|
9
|
+
import { buildSplitFieldEntries as At } from "./splitFieldFactory.js";
|
|
10
|
+
import { useDeriveFieldsMetadata as bt } from "../../../../../partner-hook-utils/form/useDeriveFieldsMetadata.js";
|
|
11
|
+
import { useHookFormInternals as ht } from "../../../../../partner-hook-utils/form/useHookFormInternals.js";
|
|
12
|
+
import { createGetFormSubmissionValues as St } from "../../../../../partner-hook-utils/form/getFormSubmissionValues.js";
|
|
13
|
+
import { withOptions as gt } from "../../../../../partner-hook-utils/form/withOptions.js";
|
|
14
|
+
import { composeErrorHandler as Pt } from "../../../../../partner-hook-utils/composeErrorHandler.js";
|
|
15
|
+
import { useBaseSubmit as Et } from "../../../../Base/useBaseSubmit.js";
|
|
16
|
+
import { SDKInternalError as q } from "../../../../../types/sdkError.js";
|
|
17
|
+
import { centsToDollars as Bt, dollarsToCents as Mt } from "../../../../../helpers/currencyHelpers.js";
|
|
18
|
+
import { SPLIT_BY as l, PAYMENT_METHODS as wt } from "../../../../../shared/constants.js";
|
|
19
|
+
const Ft = (p, g) => p.splits && p.splits.length > 0 ? p.splits.map((i) => ({
|
|
20
|
+
uuid: i.uuid,
|
|
21
|
+
name: i.name ?? null,
|
|
22
|
+
hiddenAccountNumber: i.hiddenAccountNumber ?? null,
|
|
23
|
+
splitAmount: i.splitAmount ?? null,
|
|
24
|
+
priority: i.priority ?? 0
|
|
25
|
+
})) : g.map((i, M) => ({
|
|
26
|
+
uuid: i.uuid,
|
|
27
|
+
name: i.name ?? null,
|
|
28
|
+
hiddenAccountNumber: i.hiddenAccountNumber ?? null,
|
|
29
|
+
splitAmount: null,
|
|
30
|
+
priority: M + 1
|
|
31
|
+
}));
|
|
32
|
+
function zt({
|
|
33
|
+
employeeId: p,
|
|
34
|
+
optionalFieldsToRequire: g,
|
|
35
|
+
validationMode: i = "onSubmit",
|
|
36
|
+
shouldFocusError: M = !0
|
|
37
|
+
}) {
|
|
38
|
+
const w = ct({ employeeId: p }), F = lt({ employeeId: p }), s = w.data?.employeePaymentMethod, A = F.data?.employeeBankAccounts, u = f(
|
|
39
|
+
() => s && A ? Ft(s, A) : [],
|
|
40
|
+
[s, A]
|
|
41
|
+
), [O, z] = f(
|
|
42
|
+
() => dt({ optionalFieldsToRequire: g }),
|
|
43
|
+
[g]
|
|
44
|
+
), V = f(() => {
|
|
45
|
+
const t = s?.splitBy === l.amount, e = {}, n = {};
|
|
46
|
+
return u.forEach((r) => {
|
|
47
|
+
e[r.uuid] = t ? Bt(r.splitAmount) : r.splitAmount, n[r.uuid] = r.priority;
|
|
48
|
+
}), {
|
|
49
|
+
splitBy: s?.splitBy ?? l.percentage,
|
|
50
|
+
splitAmount: e,
|
|
51
|
+
priority: n
|
|
52
|
+
};
|
|
53
|
+
}, [s, u]), m = ut({
|
|
54
|
+
resolver: at(O),
|
|
55
|
+
mode: i,
|
|
56
|
+
shouldFocusError: M,
|
|
57
|
+
defaultValues: V,
|
|
58
|
+
values: V,
|
|
59
|
+
resetOptions: { keepDirtyValues: !0 }
|
|
60
|
+
}), C = pt(), Q = C.isPending, {
|
|
61
|
+
baseSubmitHandler: W,
|
|
62
|
+
error: K,
|
|
63
|
+
setError: x
|
|
64
|
+
} = Et("SplitPaymentsForm"), D = Pt([w, F], {
|
|
65
|
+
submitError: K,
|
|
66
|
+
setSubmitError: x
|
|
67
|
+
}), o = L({ control: m.control, name: "splitBy" }), P = L({ control: m.control, name: "priority" }), T = L({ control: m.control, name: "splitAmount" }), J = f(() => o !== l.percentage ? 0 : Object.values(T).reduce(
|
|
68
|
+
(t, e) => t + (typeof e == "number" && Number.isFinite(e) ? e : 0),
|
|
69
|
+
0
|
|
70
|
+
), [o, T]), { errors: X, isSubmitted: _ } = mt({
|
|
71
|
+
control: m.control
|
|
72
|
+
}), Z = o === l.percentage && X[j]?.message === yt.PERCENTAGE_TOTAL_MISMATCH, { trigger: H } = m;
|
|
73
|
+
$(() => {
|
|
74
|
+
_ && o === l.percentage && H(j);
|
|
75
|
+
}, [_, o, T, H]);
|
|
76
|
+
const b = f(() => Object.keys(P).length ? Object.entries(P).reduce((t, [e, n]) => {
|
|
77
|
+
if (!t) return e;
|
|
78
|
+
const r = P[t] ?? 0;
|
|
79
|
+
return n > r ? e : t;
|
|
80
|
+
}, "") : "", [P]), h = R(u);
|
|
81
|
+
h.current = u;
|
|
82
|
+
const v = R(b);
|
|
83
|
+
v.current = b;
|
|
84
|
+
const E = R(null), { setValue: d, resetField: I } = m;
|
|
85
|
+
$(() => {
|
|
86
|
+
if (h.current.length) {
|
|
87
|
+
if (E.current === null) {
|
|
88
|
+
E.current = o;
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (E.current !== o)
|
|
92
|
+
if (E.current = o, o === l.amount) {
|
|
93
|
+
const t = h.current.reduce((e, n) => (e[n.uuid] = n.uuid === v.current ? null : 0, e), {});
|
|
94
|
+
d("splitAmount", t);
|
|
95
|
+
} else {
|
|
96
|
+
const t = h.current.reduce(
|
|
97
|
+
(e, n, r) => (e[n.uuid] = r === 0 ? 100 : 0, e),
|
|
98
|
+
{}
|
|
99
|
+
);
|
|
100
|
+
d("splitAmount", t);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}, [o, d]);
|
|
104
|
+
const U = st(
|
|
105
|
+
(t) => {
|
|
106
|
+
const e = h.current, n = new Set(e.map((c) => c.uuid));
|
|
107
|
+
if (t.length !== n.size || !t.every((c) => n.has(c)))
|
|
108
|
+
return;
|
|
109
|
+
const r = t.reduce((c, k, B) => (c[k] = B + 1, c), {}), y = t[t.length - 1];
|
|
110
|
+
if (!y) return;
|
|
111
|
+
d("priority", r);
|
|
112
|
+
const a = v.current;
|
|
113
|
+
a && a !== y && (I(`splitAmount.${a}`), d(`splitAmount.${a}`, 0)), d(`splitAmount.${y}`, null);
|
|
114
|
+
},
|
|
115
|
+
[d, I]
|
|
116
|
+
), tt = Y.map((t) => ({ value: t, label: t })), N = bt(z, m.control), et = f(() => {
|
|
117
|
+
const t = {}, e = o === l.amount;
|
|
118
|
+
for (const n of u) {
|
|
119
|
+
const r = `splitAmount.${n.uuid}`, y = e && n.uuid === b;
|
|
120
|
+
t[r] = {
|
|
121
|
+
name: r,
|
|
122
|
+
isRequired: !0,
|
|
123
|
+
isDisabled: y
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return t;
|
|
127
|
+
}, [u, o, b]), nt = {
|
|
128
|
+
splitBy: gt(N.splitBy, tt, [...Y]),
|
|
129
|
+
splitAmount: N.splitAmount,
|
|
130
|
+
priority: N.priority,
|
|
131
|
+
...et
|
|
132
|
+
}, rt = f(
|
|
133
|
+
() => At(
|
|
134
|
+
u.map((t) => ({
|
|
135
|
+
uuid: t.uuid,
|
|
136
|
+
name: t.name,
|
|
137
|
+
hiddenAccountNumber: t.hiddenAccountNumber
|
|
138
|
+
}))
|
|
139
|
+
),
|
|
140
|
+
[u]
|
|
141
|
+
), ot = async () => {
|
|
142
|
+
if (!s)
|
|
143
|
+
throw new q("Cannot submit split payments form before data is loaded");
|
|
144
|
+
const t = s, e = u;
|
|
145
|
+
let n;
|
|
146
|
+
return await new Promise((r) => {
|
|
147
|
+
m.handleSubmit(
|
|
148
|
+
async (y) => {
|
|
149
|
+
await W(y, async (a) => {
|
|
150
|
+
const c = a.splitBy === l.amount, k = {
|
|
151
|
+
...t,
|
|
152
|
+
version: t.version,
|
|
153
|
+
splitBy: a.splitBy,
|
|
154
|
+
splits: e.map((S) => {
|
|
155
|
+
const G = a.splitAmount[S.uuid] ?? null;
|
|
156
|
+
return {
|
|
157
|
+
uuid: S.uuid,
|
|
158
|
+
name: S.name ?? void 0,
|
|
159
|
+
hiddenAccountNumber: S.hiddenAccountNumber ?? void 0,
|
|
160
|
+
splitAmount: c ? Mt(G) : G,
|
|
161
|
+
priority: a.priority[S.uuid]
|
|
162
|
+
};
|
|
163
|
+
})
|
|
164
|
+
}, B = await C.mutateAsync({
|
|
165
|
+
request: {
|
|
166
|
+
employeeId: p,
|
|
167
|
+
requestBody: { ...k, type: wt.directDeposit }
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
if (!B.employeePaymentMethod)
|
|
171
|
+
throw new q("Payment method update failed");
|
|
172
|
+
n = { mode: "update", data: B.employeePaymentMethod };
|
|
173
|
+
}), r();
|
|
174
|
+
},
|
|
175
|
+
() => {
|
|
176
|
+
r();
|
|
177
|
+
}
|
|
178
|
+
)();
|
|
179
|
+
}), n;
|
|
180
|
+
}, it = ht(m);
|
|
181
|
+
return w.isLoading || F.isLoading || !s || !A ? { isLoading: !0, errorHandling: D } : {
|
|
182
|
+
isLoading: !1,
|
|
183
|
+
data: {
|
|
184
|
+
paymentMethod: s,
|
|
185
|
+
bankAccounts: A,
|
|
186
|
+
splits: u,
|
|
187
|
+
remainderId: b
|
|
188
|
+
},
|
|
189
|
+
status: {
|
|
190
|
+
isPending: Q,
|
|
191
|
+
mode: "update",
|
|
192
|
+
splitBy: o,
|
|
193
|
+
percentageTotal: J,
|
|
194
|
+
hasPercentageImbalance: Z
|
|
195
|
+
},
|
|
196
|
+
actions: { onSubmit: ot, reorderSplits: U },
|
|
197
|
+
errorHandling: D,
|
|
198
|
+
form: {
|
|
199
|
+
Fields: { SplitBy: ft, splits: rt },
|
|
200
|
+
fieldsMetadata: nt,
|
|
201
|
+
hookFormInternals: it,
|
|
202
|
+
getFormSubmissionValues: St(m, O)
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
export {
|
|
207
|
+
zt as useSplitPaymentsForm
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=useSplitPaymentsForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSplitPaymentsForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.tsx"],"sourcesContent":["import type { ComponentType } from 'react'\nimport { useCallback, useEffect, useMemo, useRef } from 'react'\nimport { useForm, useFormState, useWatch } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport { useEmployeePaymentMethodGet } from '@gusto/embedded-api/react-query/employeePaymentMethodGet'\nimport { useEmployeePaymentMethodsGetBankAccounts } from '@gusto/embedded-api/react-query/employeePaymentMethodsGetBankAccounts'\nimport { useEmployeePaymentMethodUpdateMutation } from '@gusto/embedded-api/react-query/employeePaymentMethodUpdate'\nimport {\n PERCENTAGE_TOTAL_PATH,\n SPLIT_BY_VALUES,\n SplitPaymentsFormErrorCodes,\n type SplitByValue,\n type SplitPaymentsFormData,\n type SplitPaymentsFormOptionalFieldsToRequire,\n type SplitPaymentsFormOutputs,\n createSplitPaymentsFormSchema,\n} from './useSplitPaymentsFormSchema'\nimport { SplitByField, type SplitByFieldProps } from './fields'\nimport { buildSplitFieldEntries, type SplitFieldEntry } from './splitFieldFactory'\nimport { useDeriveFieldsMetadata } from '@/partner-hook-utils/form/useDeriveFieldsMetadata'\nimport { useHookFormInternals } from '@/partner-hook-utils/form/useHookFormInternals'\nimport { createGetFormSubmissionValues } from '@/partner-hook-utils/form/getFormSubmissionValues'\nimport { withOptions } from '@/partner-hook-utils/form/withOptions'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport type {\n BaseFormHookReady,\n FieldsMetadata,\n HookLoadingResult,\n HookSubmitResult,\n} from '@/partner-hook-utils/types'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { centsToDollars, dollarsToCents } from '@/helpers/currencyHelpers'\nimport { PAYMENT_METHODS, SPLIT_BY } from '@/shared/constants'\n\nexport interface WorkingSplit {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n splitAmount: number | null\n priority: number\n}\n\nexport interface UseSplitPaymentsFormProps {\n employeeId: string\n optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire\n validationMode?: UseFormProps['mode']\n shouldFocusError?: boolean\n}\n\nexport interface SplitPaymentsFormFields {\n SplitBy: ComponentType<SplitByFieldProps>\n splits: SplitFieldEntry[]\n}\n\nexport interface UseSplitPaymentsFormReady extends BaseFormHookReady<\n FieldsMetadata,\n SplitPaymentsFormData,\n SplitPaymentsFormFields\n> {\n data: {\n paymentMethod: EmployeePaymentMethod\n bankAccounts: EmployeeBankAccount[]\n splits: WorkingSplit[]\n /** UUID of the split that absorbs the remainder in Amount mode (always the last by priority). */\n remainderId: string\n }\n status: {\n isPending: boolean\n mode: 'update'\n /** Current `splitBy` value, reactively tracked. */\n splitBy: SplitByValue\n /** Live sum of `splitAmount` values; useful for displaying the current total in Percentage mode. */\n percentageTotal: number\n /**\n * Mirrors the schema-emitted `PERCENTAGE_TOTAL_MISMATCH` error at the\n * synthetic form path. Tracks `formState.errors` directly and follows\n * the standard react-hook-form validation lifecycle: with the default\n * `validationMode: 'onSubmit'`, becomes `true` after the first failed\n * Save attempt and clears live as the user corrects the total. Only\n * surfaces in Percentage mode.\n */\n hasPercentageImbalance: boolean\n }\n actions: {\n onSubmit: () => Promise<HookSubmitResult<EmployeePaymentMethod> | undefined>\n /**\n * Reorder splits by uuid (Amount mode). Pass the ordered list of split\n * uuids; the last uuid becomes the remainder. The hook writes the new\n * priority map and re-anchors the remainder's `splitAmount` to `null`\n * (clearing the previous remainder to `0`).\n */\n reorderSplits: (orderedUuids: string[]) => void\n }\n}\n\nconst buildWorkingSplits = (\n paymentMethod: EmployeePaymentMethod,\n bankAccounts: EmployeeBankAccount[],\n): WorkingSplit[] => {\n if (paymentMethod.splits && paymentMethod.splits.length > 0) {\n return paymentMethod.splits.map(split => ({\n uuid: split.uuid,\n name: split.name ?? null,\n hiddenAccountNumber: split.hiddenAccountNumber ?? null,\n splitAmount: split.splitAmount ?? null,\n priority: split.priority ?? 0,\n }))\n }\n return bankAccounts.map((account, index) => ({\n uuid: account.uuid,\n name: account.name ?? null,\n hiddenAccountNumber: account.hiddenAccountNumber ?? null,\n splitAmount: null,\n priority: index + 1,\n }))\n}\n\nexport function useSplitPaymentsForm({\n employeeId,\n optionalFieldsToRequire,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseSplitPaymentsFormProps): HookLoadingResult | UseSplitPaymentsFormReady {\n const paymentMethodQuery = useEmployeePaymentMethodGet({ employeeId })\n const bankAccountsQuery = useEmployeePaymentMethodsGetBankAccounts({ employeeId })\n\n const paymentMethod = paymentMethodQuery.data?.employeePaymentMethod\n const bankAccounts = bankAccountsQuery.data?.employeeBankAccounts\n\n const splits = useMemo<WorkingSplit[]>(\n () => (paymentMethod && bankAccounts ? buildWorkingSplits(paymentMethod, bankAccounts) : []),\n [paymentMethod, bankAccounts],\n )\n\n const [schema, metadataConfig] = useMemo(\n () => createSplitPaymentsFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: SplitPaymentsFormData = useMemo(() => {\n const isAmountSplit = paymentMethod?.splitBy === SPLIT_BY.amount\n const splitAmount: Record<string, number | null> = {}\n const priority: Record<string, number> = {}\n splits.forEach(split => {\n splitAmount[split.uuid] = isAmountSplit\n ? centsToDollars(split.splitAmount)\n : split.splitAmount\n priority[split.uuid] = split.priority\n })\n return {\n splitBy: (paymentMethod?.splitBy ?? SPLIT_BY.percentage) as SplitByValue,\n splitAmount,\n priority,\n }\n }, [paymentMethod, splits])\n\n const formMethods = useForm<SplitPaymentsFormData, unknown, SplitPaymentsFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const updateMutation = useEmployeePaymentMethodUpdateMutation()\n const isPending = updateMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('SplitPaymentsForm')\n\n const errorHandling = composeErrorHandler([paymentMethodQuery, bankAccountsQuery], {\n submitError,\n setSubmitError,\n })\n\n const watchedSplitBy = useWatch({ control: formMethods.control, name: 'splitBy' })\n const watchedPriority = useWatch({ control: formMethods.control, name: 'priority' })\n const watchedSplitAmount = useWatch({ control: formMethods.control, name: 'splitAmount' })\n\n const percentageTotal = useMemo(() => {\n if (watchedSplitBy !== SPLIT_BY.percentage) return 0\n return Object.values(watchedSplitAmount).reduce<number>(\n (acc, v) => acc + (typeof v === 'number' && Number.isFinite(v) ? v : 0),\n 0,\n )\n }, [watchedSplitBy, watchedSplitAmount])\n\n // Subscribe to the schema-emitted imbalance error. The schema places it at\n // a synthetic path (`PERCENTAGE_TOTAL_PATH`) so it does not collide with\n // per-uuid `splitAmount.<uuid>` errors. Following the standard validation\n // lifecycle means `validationMode` (onSubmit / onChange / onBlur / ...)\n // controls when the alert can appear. We subscribe to the full errors map\n // because `name` only tracks registered field paths and our synthetic key\n // is not a registered field. The derivation is also gated on Percentage\n // mode so a stale error from a prior Percentage submit can't leak into\n // Amount mode after a toggle.\n const { errors: validationErrors, isSubmitted } = useFormState({\n control: formMethods.control,\n })\n const hasPercentageImbalance =\n watchedSplitBy === SPLIT_BY.percentage &&\n (validationErrors as Record<string, { message?: string } | undefined>)[PERCENTAGE_TOTAL_PATH]\n ?.message === SplitPaymentsFormErrorCodes.PERCENTAGE_TOTAL_MISMATCH\n\n // Re-sync the synthetic PERCENTAGE_TOTAL_PATH error whenever any\n // `splitAmount` value changes (in Percentage mode, after the first\n // submit attempt). RHF's per-field reValidate after a failed submit\n // scopes the resolver merge to the changed field's name, so an error\n // at our form-level synthetic path is otherwise left stuck once the\n // user has typed the total back to 100. Targeting the synthetic name\n // re-runs the resolver and lets RHF set/unset that single path through\n // its normal merge — preserving per-field error lifecycles unchanged.\n const { trigger } = formMethods\n useEffect(() => {\n if (!isSubmitted) return\n if (watchedSplitBy !== SPLIT_BY.percentage) return\n // `trigger`'s type is keyed to registered field paths, but the\n // synthetic `percentageTotal` resolves through RHF's get/set/unset\n // helpers at runtime — cast at the boundary to keep the contract\n // honest above.\n void trigger(PERCENTAGE_TOTAL_PATH as Parameters<typeof trigger>[0])\n }, [isSubmitted, watchedSplitBy, watchedSplitAmount, trigger])\n\n const remainderId = useMemo(() => {\n if (!Object.keys(watchedPriority).length) return ''\n return Object.entries(watchedPriority).reduce((maxId, [uuid, priority]) => {\n if (!maxId) return uuid\n const currentMax = watchedPriority[maxId] ?? 0\n return priority > currentMax ? uuid : maxId\n }, '')\n }, [watchedPriority])\n\n // Reset splitAmount values when the user toggles splitBy. Skip the first\n // post-load run so values loaded from `paymentMethod.splits` are preserved\n // on mount — only the user's explicit toggle should clear them.\n const splitsRef = useRef(splits)\n splitsRef.current = splits\n const remainderIdRef = useRef(remainderId)\n remainderIdRef.current = remainderId\n const previousSplitByRef = useRef<SplitByValue | null>(null)\n const { setValue, resetField } = formMethods\n\n useEffect(() => {\n if (!splitsRef.current.length) return\n if (previousSplitByRef.current === null) {\n previousSplitByRef.current = watchedSplitBy as SplitByValue\n return\n }\n if (previousSplitByRef.current === watchedSplitBy) return\n previousSplitByRef.current = watchedSplitBy as SplitByValue\n\n if (watchedSplitBy === SPLIT_BY.amount) {\n const newValues = splitsRef.current.reduce<Record<string, number | null>>((acc, curr) => {\n acc[curr.uuid] = curr.uuid === remainderIdRef.current ? null : 0\n return acc\n }, {})\n setValue('splitAmount', newValues)\n } else {\n const newValues = splitsRef.current.reduce<Record<string, number | null>>(\n (acc, curr, index) => {\n acc[curr.uuid] = index === 0 ? 100 : 0\n return acc\n },\n {},\n )\n setValue('splitAmount', newValues)\n }\n }, [watchedSplitBy, setValue])\n\n const reorderSplits = useCallback(\n (orderedUuids: string[]) => {\n const currentSplits = splitsRef.current\n const knownUuids = new Set(currentSplits.map(s => s.uuid))\n if (\n orderedUuids.length !== knownUuids.size ||\n !orderedUuids.every(uuid => knownUuids.has(uuid))\n ) {\n return\n }\n\n const newPriorities = orderedUuids.reduce<Record<string, number>>((acc, uuid, index) => {\n acc[uuid] = index + 1\n return acc\n }, {})\n const newRemainderId = orderedUuids[orderedUuids.length - 1]\n if (!newRemainderId) return\n\n setValue('priority', newPriorities)\n const previousRemainder = remainderIdRef.current\n if (previousRemainder && previousRemainder !== newRemainderId) {\n resetField(`splitAmount.${previousRemainder}`)\n setValue(`splitAmount.${previousRemainder}`, 0)\n }\n setValue(`splitAmount.${newRemainderId}`, null)\n },\n [setValue, resetField],\n )\n\n const splitByOptions = SPLIT_BY_VALUES.map(value => ({ value, label: value }))\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const dynamicSplitMetadata = useMemo<FieldsMetadata>(() => {\n const entries: FieldsMetadata = {}\n const isAmountSplit = watchedSplitBy === SPLIT_BY.amount\n for (const split of splits) {\n const path = `splitAmount.${split.uuid}`\n const isRemainder = isAmountSplit && split.uuid === remainderId\n // Every split — including the remainder — is \"required\" from the\n // user's perspective: the remainder always carries a value at submit\n // (the API absorbs leftover). The form-state `null` is a modeling\n // detail, not a UX choice, so we don't surface it as \"(optional)\" on\n // the label. `isDisabled` already conveys the non-interactivity.\n entries[path] = {\n name: path,\n isRequired: true,\n isDisabled: isRemainder,\n }\n }\n return entries\n }, [splits, watchedSplitBy, remainderId])\n const fieldsMetadata: FieldsMetadata = {\n splitBy: withOptions<SplitByValue>(baseMetadata.splitBy, splitByOptions, [...SPLIT_BY_VALUES]),\n splitAmount: baseMetadata.splitAmount,\n priority: baseMetadata.priority,\n ...dynamicSplitMetadata,\n }\n\n const splitFieldEntries = useMemo(\n () =>\n buildSplitFieldEntries(\n splits.map(s => ({\n uuid: s.uuid,\n name: s.name,\n hiddenAccountNumber: s.hiddenAccountNumber,\n })),\n ),\n [splits],\n )\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeePaymentMethod> | undefined> => {\n if (!paymentMethod) {\n throw new SDKInternalError('Cannot submit split payments form before data is loaded')\n }\n const currentPaymentMethod = paymentMethod\n const currentSplits = splits\n let submitResult: HookSubmitResult<EmployeePaymentMethod> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: SplitPaymentsFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const isAmountSplit = payload.splitBy === SPLIT_BY.amount\n const body = {\n ...currentPaymentMethod,\n version: currentPaymentMethod.version as string,\n splitBy: payload.splitBy,\n splits: currentSplits.map(split => {\n const splitAmountValue = payload.splitAmount[split.uuid] ?? null\n return {\n uuid: split.uuid,\n name: split.name ?? undefined,\n hiddenAccountNumber: split.hiddenAccountNumber ?? undefined,\n splitAmount: isAmountSplit ? dollarsToCents(splitAmountValue) : splitAmountValue,\n priority: payload.priority[split.uuid],\n }\n }),\n }\n\n const response = await updateMutation.mutateAsync({\n request: {\n employeeId,\n requestBody: { ...body, type: PAYMENT_METHODS.directDeposit },\n },\n })\n\n if (!response.employeePaymentMethod) {\n throw new SDKInternalError('Payment method update failed')\n }\n\n submitResult = { mode: 'update' as const, data: response.employeePaymentMethod }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n if (\n paymentMethodQuery.isLoading ||\n bankAccountsQuery.isLoading ||\n !paymentMethod ||\n !bankAccounts\n ) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: {\n paymentMethod,\n bankAccounts,\n splits,\n remainderId,\n },\n status: {\n isPending,\n mode: 'update' as const,\n splitBy: watchedSplitBy as SplitByValue,\n percentageTotal,\n hasPercentageImbalance,\n },\n actions: { onSubmit, reorderSplits },\n errorHandling,\n form: {\n Fields: { SplitBy: SplitByField, splits: splitFieldEntries },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\nexport type UseSplitPaymentsFormResult = HookLoadingResult | UseSplitPaymentsFormReady\nexport type SplitPaymentsFormFieldsMetadata = UseSplitPaymentsFormReady['form']['fieldsMetadata']\nexport type SplitPaymentsFormFieldsType = UseSplitPaymentsFormReady['form']['Fields']\n"],"names":["buildWorkingSplits","paymentMethod","bankAccounts","split","account","index","useSplitPaymentsForm","employeeId","optionalFieldsToRequire","validationMode","shouldFocusError","paymentMethodQuery","useEmployeePaymentMethodGet","bankAccountsQuery","useEmployeePaymentMethodsGetBankAccounts","splits","useMemo","schema","metadataConfig","createSplitPaymentsFormSchema","resolvedDefaults","isAmountSplit","SPLIT_BY","splitAmount","priority","centsToDollars","formMethods","useForm","zodResolver","updateMutation","useEmployeePaymentMethodUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","watchedSplitBy","useWatch","watchedPriority","watchedSplitAmount","percentageTotal","acc","v","validationErrors","isSubmitted","useFormState","hasPercentageImbalance","PERCENTAGE_TOTAL_PATH","SplitPaymentsFormErrorCodes","trigger","useEffect","remainderId","maxId","uuid","currentMax","splitsRef","useRef","remainderIdRef","previousSplitByRef","setValue","resetField","newValues","curr","reorderSplits","useCallback","orderedUuids","currentSplits","knownUuids","s","newPriorities","newRemainderId","previousRemainder","splitByOptions","SPLIT_BY_VALUES","value","baseMetadata","useDeriveFieldsMetadata","dynamicSplitMetadata","entries","path","isRemainder","fieldsMetadata","withOptions","splitFieldEntries","buildSplitFieldEntries","onSubmit","SDKInternalError","currentPaymentMethod","submitResult","resolve","data","payload","body","splitAmountValue","dollarsToCents","response","PAYMENT_METHODS","hookFormInternals","useHookFormInternals","SplitByField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { OptionalFieldsToRequire } from '../../../../../partner-hook-utils/form/buildFormSchema';
|
|
3
|
+
export declare const SplitPaymentsFormErrorCodes: {
|
|
4
|
+
readonly REQUIRED: "REQUIRED";
|
|
5
|
+
readonly INVALID_PERCENTAGE: "INVALID_PERCENTAGE";
|
|
6
|
+
readonly INVALID_AMOUNT: "INVALID_AMOUNT";
|
|
7
|
+
readonly DUPLICATE_PRIORITIES: "DUPLICATE_PRIORITIES";
|
|
8
|
+
readonly PERCENTAGE_TOTAL_MISMATCH: "PERCENTAGE_TOTAL_MISMATCH";
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Synthetic form path where the schema emits the percentage-sum-to-100
|
|
12
|
+
* invariant. The hook subscribes to errors at this path to drive
|
|
13
|
+
* `status.hasPercentageImbalance`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const PERCENTAGE_TOTAL_PATH: "percentageTotal";
|
|
16
|
+
export type SplitPaymentsFormErrorCode = (typeof SplitPaymentsFormErrorCodes)[keyof typeof SplitPaymentsFormErrorCodes];
|
|
17
|
+
export declare const SPLIT_BY_VALUES: readonly ["Percentage", "Amount"];
|
|
18
|
+
export type SplitByValue = (typeof SPLIT_BY_VALUES)[number];
|
|
19
|
+
declare const fieldValidators: {
|
|
20
|
+
splitBy: z.ZodEnum<{
|
|
21
|
+
Percentage: "Percentage";
|
|
22
|
+
Amount: "Amount";
|
|
23
|
+
}>;
|
|
24
|
+
splitAmount: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
|
|
25
|
+
priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
26
|
+
};
|
|
27
|
+
export type SplitPaymentsFormField = keyof typeof fieldValidators;
|
|
28
|
+
export type SplitPaymentsFormData = {
|
|
29
|
+
splitBy: SplitByValue;
|
|
30
|
+
splitAmount: Record<string, number | null>;
|
|
31
|
+
priority: Record<string, number>;
|
|
32
|
+
};
|
|
33
|
+
export type SplitPaymentsFormOutputs = SplitPaymentsFormData;
|
|
34
|
+
declare const requiredFieldsConfig: {};
|
|
35
|
+
export type SplitPaymentsFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>;
|
|
36
|
+
interface SplitPaymentsFormSchemaOptions {
|
|
37
|
+
optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Resolves the remainder uuid (highest priority value) from a priority map.
|
|
41
|
+
* Exported so the hook can mirror the same selection rule when deriving
|
|
42
|
+
* dynamic field metadata.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveRemainderUuid(priority: Record<string, number>): string;
|
|
45
|
+
export declare function createSplitPaymentsFormSchema(options?: SplitPaymentsFormSchemaOptions): import('../../../../../partner-hook-utils/form/buildFormSchema').BuildFormSchemaResult<{
|
|
46
|
+
splitBy: z.ZodEnum<{
|
|
47
|
+
Percentage: "Percentage";
|
|
48
|
+
Amount: "Amount";
|
|
49
|
+
}>;
|
|
50
|
+
splitAmount: z.ZodRecord<z.ZodString, z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNullable<z.ZodNumber>>>;
|
|
51
|
+
priority: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
52
|
+
}>;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z as e } from "zod";
|
|
2
|
+
import { buildFormSchema as l } from "../../../../../partner-hook-utils/form/buildFormSchema.js";
|
|
3
|
+
import { SPLIT_BY as d } from "../../../../../shared/constants.js";
|
|
4
|
+
const u = {
|
|
5
|
+
REQUIRED: "REQUIRED",
|
|
6
|
+
INVALID_PERCENTAGE: "INVALID_PERCENTAGE",
|
|
7
|
+
INVALID_AMOUNT: "INVALID_AMOUNT",
|
|
8
|
+
DUPLICATE_PRIORITIES: "DUPLICATE_PRIORITIES",
|
|
9
|
+
PERCENTAGE_TOTAL_MISMATCH: "PERCENTAGE_TOTAL_MISMATCH"
|
|
10
|
+
}, m = "percentageTotal", c = [d.percentage, d.amount], E = e.preprocess(
|
|
11
|
+
(t) => typeof t == "number" && Number.isNaN(t) ? null : t,
|
|
12
|
+
e.number().nullable()
|
|
13
|
+
), a = {
|
|
14
|
+
splitBy: e.enum(c),
|
|
15
|
+
splitAmount: e.record(e.string(), E),
|
|
16
|
+
priority: e.record(e.string(), e.number())
|
|
17
|
+
}, p = {};
|
|
18
|
+
function A(t) {
|
|
19
|
+
return Object.entries(t).reduce((o, [s, i]) => {
|
|
20
|
+
if (!o) return s;
|
|
21
|
+
const n = t[o] ?? 0;
|
|
22
|
+
return i > n ? s : o;
|
|
23
|
+
}, "");
|
|
24
|
+
}
|
|
25
|
+
function C(t = {}) {
|
|
26
|
+
return l(a, {
|
|
27
|
+
requiredFieldsConfig: p,
|
|
28
|
+
requiredErrorCode: u.REQUIRED,
|
|
29
|
+
mode: "update",
|
|
30
|
+
optionalFieldsToRequire: t.optionalFieldsToRequire,
|
|
31
|
+
superRefine: (o, s) => {
|
|
32
|
+
if (o.splitBy === d.percentage) {
|
|
33
|
+
let i = !1, n = 0;
|
|
34
|
+
for (const [I, r] of Object.entries(o.splitAmount)) {
|
|
35
|
+
if (r === null) {
|
|
36
|
+
i = !0, s.addIssue({
|
|
37
|
+
code: e.ZodIssueCode.custom,
|
|
38
|
+
path: ["splitAmount", I],
|
|
39
|
+
message: u.REQUIRED
|
|
40
|
+
});
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
if (!Number.isInteger(r) || r < 0 || r > 100) {
|
|
44
|
+
i = !0, s.addIssue({
|
|
45
|
+
code: e.ZodIssueCode.custom,
|
|
46
|
+
path: ["splitAmount", I],
|
|
47
|
+
message: u.INVALID_PERCENTAGE
|
|
48
|
+
});
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
n += r;
|
|
52
|
+
}
|
|
53
|
+
!i && n !== 100 && s.addIssue({
|
|
54
|
+
code: e.ZodIssueCode.custom,
|
|
55
|
+
path: [m],
|
|
56
|
+
message: u.PERCENTAGE_TOTAL_MISMATCH
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
const i = A(o.priority);
|
|
60
|
+
for (const [I, r] of Object.entries(o.splitAmount)) {
|
|
61
|
+
if (r === null) {
|
|
62
|
+
if (I === i) continue;
|
|
63
|
+
s.addIssue({
|
|
64
|
+
code: e.ZodIssueCode.custom,
|
|
65
|
+
path: ["splitAmount", I],
|
|
66
|
+
message: u.REQUIRED
|
|
67
|
+
});
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
r < 0 && s.addIssue({
|
|
71
|
+
code: e.ZodIssueCode.custom,
|
|
72
|
+
path: ["splitAmount", I],
|
|
73
|
+
message: u.INVALID_AMOUNT
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const n = Object.values(o.priority);
|
|
77
|
+
new Set(n).size !== n.length && s.addIssue({
|
|
78
|
+
code: e.ZodIssueCode.custom,
|
|
79
|
+
path: ["priority"],
|
|
80
|
+
message: u.DUPLICATE_PRIORITIES
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
m as PERCENTAGE_TOTAL_PATH,
|
|
88
|
+
c as SPLIT_BY_VALUES,
|
|
89
|
+
u as SplitPaymentsFormErrorCodes,
|
|
90
|
+
C as createSplitPaymentsFormSchema,
|
|
91
|
+
A as resolveRemainderUuid
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=useSplitPaymentsFormSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSplitPaymentsFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { SPLIT_BY } from '@/shared/constants'\n\nexport const SplitPaymentsFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_PERCENTAGE: 'INVALID_PERCENTAGE',\n INVALID_AMOUNT: 'INVALID_AMOUNT',\n DUPLICATE_PRIORITIES: 'DUPLICATE_PRIORITIES',\n PERCENTAGE_TOTAL_MISMATCH: 'PERCENTAGE_TOTAL_MISMATCH',\n} as const\n\n/**\n * Synthetic form path where the schema emits the percentage-sum-to-100\n * invariant. The hook subscribes to errors at this path to drive\n * `status.hasPercentageImbalance`.\n */\nexport const PERCENTAGE_TOTAL_PATH = 'percentageTotal' as const\n\nexport type SplitPaymentsFormErrorCode =\n (typeof SplitPaymentsFormErrorCodes)[keyof typeof SplitPaymentsFormErrorCodes]\n\nexport const SPLIT_BY_VALUES = [SPLIT_BY.percentage, SPLIT_BY.amount] as const\nexport type SplitByValue = (typeof SPLIT_BY_VALUES)[number]\n\n// Cleared NumberInput emits `NaN`. Normalize NaN to `null` at the schema\n// boundary so it (a) doesn't trip Zod's built-in \"expected number, received\n// NaN\" message, and (b) flows through the same REQUIRED branch in\n// `superRefine` as an explicitly null value.\nconst splitAmountValueSchema = z.preprocess(\n v => (typeof v === 'number' && Number.isNaN(v) ? null : v),\n z.number().nullable(),\n)\n\nconst fieldValidators = {\n splitBy: z.enum(SPLIT_BY_VALUES),\n splitAmount: z.record(z.string(), splitAmountValueSchema),\n priority: z.record(z.string(), z.number()),\n}\n\nexport type SplitPaymentsFormField = keyof typeof fieldValidators\n\nexport type SplitPaymentsFormData = {\n splitBy: SplitByValue\n splitAmount: Record<string, number | null>\n priority: Record<string, number>\n}\nexport type SplitPaymentsFormOutputs = SplitPaymentsFormData\n\nconst requiredFieldsConfig = {} satisfies RequiredFieldConfig<typeof fieldValidators>\n\nexport type SplitPaymentsFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\ninterface SplitPaymentsFormSchemaOptions {\n optionalFieldsToRequire?: SplitPaymentsFormOptionalFieldsToRequire\n}\n\n/**\n * Resolves the remainder uuid (highest priority value) from a priority map.\n * Exported so the hook can mirror the same selection rule when deriving\n * dynamic field metadata.\n */\nexport function resolveRemainderUuid(priority: Record<string, number>): string {\n return Object.entries(priority).reduce<string>((maxId, [uuid, value]) => {\n if (!maxId) return uuid\n const currentMax = priority[maxId] ?? 0\n return value > currentMax ? uuid : maxId\n }, '')\n}\n\nexport function createSplitPaymentsFormSchema(options: SplitPaymentsFormSchemaOptions = {}) {\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: SplitPaymentsFormErrorCodes.REQUIRED,\n mode: 'update',\n optionalFieldsToRequire: options.optionalFieldsToRequire,\n superRefine: (data, ctx) => {\n if (data.splitBy === SPLIT_BY.percentage) {\n let anyInvalid = false\n let total = 0\n for (const [uuid, value] of Object.entries(data.splitAmount)) {\n if (value === null) {\n anyInvalid = true\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.REQUIRED,\n })\n continue\n }\n if (!Number.isInteger(value) || value < 0 || value > 100) {\n anyInvalid = true\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE,\n })\n continue\n }\n total += value\n }\n // Only enforce sum-to-100 when every split is otherwise valid. While\n // any value is missing or out of range, the per-field error is the\n // right thing to surface; an additional sum mismatch would be noise.\n // Emitted at the synthetic form path so the hook can drive a\n // form-level alert via `status.hasPercentageImbalance` without\n // polluting per-field errors.\n if (!anyInvalid && total !== 100) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: [PERCENTAGE_TOTAL_PATH],\n message: SplitPaymentsFormErrorCodes.PERCENTAGE_TOTAL_MISMATCH,\n })\n }\n } else {\n const remainderUuid = resolveRemainderUuid(data.priority)\n for (const [uuid, value] of Object.entries(data.splitAmount)) {\n if (value === null) {\n if (uuid === remainderUuid) continue\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.REQUIRED,\n })\n continue\n }\n if (value < 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['splitAmount', uuid],\n message: SplitPaymentsFormErrorCodes.INVALID_AMOUNT,\n })\n }\n }\n const priorities = Object.values(data.priority)\n if (new Set(priorities).size !== priorities.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['priority'],\n message: SplitPaymentsFormErrorCodes.DUPLICATE_PRIORITIES,\n })\n }\n }\n },\n })\n}\n"],"names":["SplitPaymentsFormErrorCodes","PERCENTAGE_TOTAL_PATH","SPLIT_BY_VALUES","SPLIT_BY","splitAmountValueSchema","z","v","fieldValidators","requiredFieldsConfig","resolveRemainderUuid","priority","maxId","uuid","value","currentMax","createSplitPaymentsFormSchema","options","buildFormSchema","data","ctx","anyInvalid","total","remainderUuid","priorities"],"mappings":"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"}
|