@gusto/embedded-react-sdk 0.48.3 → 0.50.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 +71 -0
- package/README.md +8 -8
- package/dist/components/Base/Base.d.ts +11 -3
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Base/createCompoundContext.d.ts +1 -1
- package/dist/components/Base/createCompoundContext.js.map +1 -1
- package/dist/components/Base/index.d.ts +1 -1
- package/dist/components/Common/DataView/DataTable/DataTable.js +21 -21
- package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +16 -15
- package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +1 -0
- package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
- package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
- package/dist/components/Common/PaginationControl/PaginationControl.js +9 -8
- package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
- package/dist/components/Common/TaxInputs/TaxInputs.js +104 -102
- package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarLegend.d.ts +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarLegend.js.map +1 -1
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
- package/dist/components/Common/UI/NumberInput/NumberInput.d.ts +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInput.js +87 -80
- package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +4 -0
- package/dist/components/Common/UI/Select/Select.js +28 -28
- package/dist/components/Common/UI/Select/Select.js.map +1 -1
- package/dist/components/Common/UI/Select/SelectTypes.d.ts +3 -2
- package/dist/components/Common/UI/Tabs/Tabs.js +9 -8
- package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +1 -0
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +4 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +9 -8
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccount.d.ts +3 -2
- package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +3 -3
- package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -2
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +6 -5
- package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js +4 -6
- package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
- package/dist/components/Company/DocumentSigner/index.d.ts +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -0
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.js.map +1 -1
- package/dist/components/Company/DocumentSigner/stateMachine.js +12 -18
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +15 -6
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +23 -21
- package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
- package/dist/components/Company/FederalTaxes/index.d.ts +2 -0
- package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +10 -6
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Industry.d.ts +5 -7
- package/dist/components/Company/Industry/Industry.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +11 -4
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/index.d.ts +1 -0
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/Locations.d.ts +1 -0
- package/dist/components/Company/Locations/Locations.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +20 -20
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.module.scss.js +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +2 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/Locations/stateMachine.js +4 -6
- package/dist/components/Company/Locations/stateMachine.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +38 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +14 -3
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +30 -23
- package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +10 -4
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.d.ts +4 -3
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +6 -4
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +10 -14
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -0
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +29 -25
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +11 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +55 -54
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +10 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js +11 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/index.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +7 -2
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/index.d.ts +1 -1
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +5 -7
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +11 -11
- package/dist/components/Contractor/Address/Address.d.ts +14 -8
- package/dist/components/Contractor/Address/Address.js +83 -64
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/Address/Address.module.scss.js +8 -0
- package/dist/components/Contractor/Address/Address.module.scss.js.map +1 -0
- package/dist/components/Contractor/Address/index.d.ts +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +60 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js +32 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js.map +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.d.ts +111 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js +26 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js.map +1 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/index.d.ts +6 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +150 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +133 -0
- package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -0
- package/dist/components/Contractor/Address/types.d.ts +8 -0
- package/dist/components/Contractor/ContractorList/index.d.ts +4 -4
- package/dist/components/Contractor/ContractorList/index.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +29 -0
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +71 -0
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -0
- package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +3 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/index.d.ts +2 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +60 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +20 -0
- package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
- package/dist/components/Contractor/Landing/Landing.d.ts +19 -0
- package/dist/components/Contractor/Landing/Landing.js +73 -0
- package/dist/components/Contractor/Landing/Landing.js.map +1 -0
- package/dist/components/Contractor/Landing/index.d.ts +2 -0
- package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +1 -0
- package/dist/components/Contractor/NewHireReport/NewHireReport.js +7 -7
- package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +22 -10
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +4 -4
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.d.ts +23 -0
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +36 -0
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -0
- package/dist/components/Contractor/OnboardingSummary/index.d.ts +2 -0
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +6 -6
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +105 -108
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.module.scss.js +8 -0
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.module.scss.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/index.d.ts +2 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.d.ts +93 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +22 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/index.d.ts +5 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +127 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +109 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +83 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.js +42 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +58 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js +21 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.d.ts +20 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.js +9 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/index.d.ts +5 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +117 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js +91 -0
- package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js.map +1 -0
- package/dist/components/Contractor/PaymentMethod/types.d.ts +0 -5
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +11 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +59 -53
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +70 -91
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +62 -56
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +13 -4
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +7 -0
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +54 -51
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +20 -22
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +109 -102
- package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +86 -65
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.d.ts +8 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +79 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/ContractorProfile.d.ts +52 -10
- package/dist/components/Contractor/Profile/ContractorProfile.js +205 -31
- package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js +8 -0
- package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js.map +1 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.d.ts +8 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +96 -0
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.d.ts +22 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +40 -0
- package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -0
- package/dist/components/Contractor/Profile/index.d.ts +1 -1
- package/dist/components/Contractor/Profile/shared/index.d.ts +2 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +126 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +73 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.test.d.ts +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +312 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +87 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +6 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +196 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +188 -0
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -0
- package/dist/components/Contractor/Submit/Submit.d.ts +4 -4
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.d.ts +6 -3
- package/dist/components/Contractor/exports/contractorOnboarding.js +14 -8
- package/dist/components/Contractor/exports/contractorOnboarding.js.map +1 -1
- package/dist/components/Employee/Compensation/management/Compensation.d.ts +4 -7
- package/dist/components/Employee/Compensation/management/Compensation.js +1 -5
- package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -0
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +13 -10
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js +23 -31
- package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +1 -0
- package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +1 -0
- package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -3
- package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +20 -28
- package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +13 -10
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +1 -0
- package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.d.ts +29 -4
- package/dist/components/Employee/Dashboard/Dashboard.js +1 -4
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +20 -14
- package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js +78 -108
- package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/management/Deductions.d.ts +4 -7
- package/dist/components/Employee/Deductions/management/Deductions.js +1 -5
- package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +1 -0
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +4 -3
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +1 -4
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +17 -23
- package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -0
- package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js +25 -35
- package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +40 -37
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +1 -0
- package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -0
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +1 -0
- package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.d.ts +19 -4
- package/dist/components/Employee/Documents/management/DocumentManager.js +4 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/Documents.d.ts +4 -7
- package/dist/components/Employee/Documents/management/Documents.js +1 -5
- package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
- package/dist/components/Employee/Documents/management/documentsStateMachine.js +5 -7
- package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +2 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +8 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +1 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +3 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +1 -4
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +3 -2
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +1 -0
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +5 -8
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +18 -3
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +21 -18
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +47 -46
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +10 -4
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +1 -1
- package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +5 -7
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +4 -7
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +1 -5
- package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +4 -5
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +1 -4
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +14 -20
- package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +4 -3
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +1 -4
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +1 -0
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +7 -11
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js +1 -5
- package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +1 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +7 -9
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +1 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -0
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +8 -12
- package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
- package/dist/components/Employee/Landing/Landing.d.ts +10 -4
- package/dist/components/Employee/Landing/Landing.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +20 -6
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -0
- package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +34 -14
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +19 -17
- package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +23 -16
- package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +11 -15
- package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +10 -4
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +3 -7
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +1 -5
- package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +15 -21
- package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +4 -7
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +1 -5
- package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +24 -36
- package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +4 -4
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js +7 -6
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +1 -0
- package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +2 -2
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
- package/dist/components/Employee/Profile/management/Profile.d.ts +5 -8
- package/dist/components/Employee/Profile/management/Profile.js +1 -5
- package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +1 -0
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +5 -6
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -4
- package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
- package/dist/components/Employee/Profile/management/profileStateMachine.js +14 -20
- package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +55 -54
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js +3 -5
- package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js.map +1 -1
- package/dist/components/Employee/Profile/onboarding/Profile.d.ts +11 -12
- package/dist/components/Employee/Profile/onboarding/Profile.js +1 -5
- package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +3 -2
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +11 -12
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +2 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +36 -0
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +31 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +1 -0
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +20 -6
- package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +12 -18
- package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +4 -9
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js +1 -5
- package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +1 -0
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +5 -8
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +1 -4
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +14 -20
- package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +5 -8
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +1 -4
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +29 -29
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +37 -19
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +113 -13
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/index.d.ts +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +2 -7
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +16 -5
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +5 -7
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +1 -0
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +7 -11
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js +1 -5
- package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +1 -0
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +7 -9
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +1 -4
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +97 -95
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +8 -12
- package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
- package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +1 -0
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +1 -0
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequests.d.ts +27 -2
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -14
- package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +3 -4
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +2 -11
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +0 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -0
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +11 -17
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +1 -3
- package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +25 -1
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +1 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +18 -4
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +1 -0
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +1 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +21 -20
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +28 -3
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -46
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +25 -24
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +13 -3
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -2
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +34 -44
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +1 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +12 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +8 -10
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +112 -112
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +4 -6
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +2 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +5 -9
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +10 -14
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.d.ts +27 -1
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +2 -2
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +2 -2
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +2 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +1 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +28 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +128 -174
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +9 -7
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +2 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +2 -1
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +2 -2
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +2 -2
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
- package/dist/components/index.d.ts +9 -0
- package/dist/contexts/ThemeProvider/types.d.ts +19 -0
- package/dist/helpers/validations.d.ts +12 -0
- package/dist/helpers/validations.js +6 -4
- package/dist/helpers/validations.js.map +1 -1
- package/dist/i18n/I18n.js +5 -2
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
- package/dist/i18n/en/Company.FederalTaxes.json.js +27 -23
- package/dist/i18n/en/Company.FederalTaxes.json.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
- package/dist/i18n/en/Contractor.Address.json.js +13 -13
- package/dist/i18n/en/Contractor.DocumentsList.json.js +28 -0
- package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Landing.json.js +18 -0
- package/dist/i18n/en/Contractor.Landing.json.js.map +1 -0
- package/dist/i18n/en/Contractor.NewHireReport.json.js +12 -10
- package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -1
- package/dist/i18n/en/Contractor.OnboardingSummary.json.js +12 -0
- package/dist/i18n/en/Contractor.OnboardingSummary.json.js.map +1 -0
- package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +13 -13
- package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +10 -6
- package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -1
- package/dist/i18n/en/Contractor.Profile.json.js +8 -6
- package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
- package/dist/i18n/en/Employee.Compensation.json.js +56 -50
- package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.DeductionsForm.json.js +8 -8
- package/dist/i18n/en/Employee.EmploymentEligibility.json.js +1 -1
- package/dist/i18n/en/Employee.Management.Compensation.json.js +48 -42
- package/dist/i18n/en/Employee.Management.Compensation.json.js.map +1 -1
- package/dist/i18n/en/Employee.Management.HomeAddress.json.js +1 -1
- package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +40 -38
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +1 -0
- package/dist/i18n/en/common.json.js +34 -32
- package/dist/i18n/en/common.json.js.map +1 -1
- package/dist/index.d.ts +23 -3
- package/dist/index.js +250 -206
- package/dist/index.js.map +1 -1
- package/dist/models/external.d.ts +299 -0
- package/dist/partner-hook-utils/form/FormFieldsMetadataContext.js +3 -3
- package/dist/partner-hook-utils/form/buildFormSchema.d.ts +14 -1
- package/dist/partner-hook-utils/form/buildFormSchema.js +41 -40
- package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
- package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/shared/constants.d.ts +10 -1
- package/dist/shared/constants.js +9 -5
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/Helpers.d.ts +19 -2
- package/dist/types/i18next.d.ts +66 -5
- package/dist/types/sdkError.js +13 -6
- package/dist/types/sdkError.js.map +1 -1
- package/docs/{reference → guides}/endpoint-inventory.json +27 -0
- package/package.json +21 -22
- package/dist/components/Contractor/Address/Actions.d.ts +0 -2
- package/dist/components/Contractor/Address/Actions.js +0 -13
- package/dist/components/Contractor/Address/Actions.js.map +0 -1
- package/dist/components/Contractor/Address/Form.d.ts +0 -2
- package/dist/components/Contractor/Address/Form.js +0 -51
- package/dist/components/Contractor/Address/Form.js.map +0 -1
- package/dist/components/Contractor/Address/Head.d.ts +0 -2
- package/dist/components/Contractor/Address/Head.js +0 -17
- package/dist/components/Contractor/Address/Head.js.map +0 -1
- package/dist/components/Contractor/Address/useAddress.d.ts +0 -28
- package/dist/components/Contractor/Address/useAddress.js +0 -31
- package/dist/components/Contractor/Address/useAddress.js.map +0 -1
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.d.ts +0 -3
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +0 -56
- package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +0 -1
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +0 -2
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +0 -33
- package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +0 -1
- package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +0 -9
- package/dist/components/Contractor/Profile/ContractorProfileForm.js +0 -143
- package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +0 -1
- package/dist/components/Contractor/Profile/useContractorProfile.d.ts +0 -205
- package/dist/components/Contractor/Profile/useContractorProfile.js +0 -237
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethodSplitForm.js","sources":["../../../../../src/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.tsx"],"sourcesContent":["import { SplitPaymentsFormBody } from '../shared/SplitPaymentsFormBody'\nimport type { UseSplitPaymentsFormProps } from '../shared/useSplitPaymentsForm'\nimport { useManagementSplitFormDictionary } from './useFormDictionary'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\n/**\n * Props for {@link PaymentMethodSplitForm}.\n *\n * @public\n */\nexport interface PaymentMethodSplitFormProps extends Omit<UseSplitPaymentsFormProps, 'employeeId'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired on split-form lifecycle events. */\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**\n * Standalone split-paycheck form for the management flow.\n *\n * @remarks\n * Renders the shared split-payments form and emits per-component scoped events\n * when the form is submitted or cancelled. Reads its copy from the dedicated\n * `Employee.Management.PaymentMethodSplitForm` namespace so partner overrides\n * on the management split form don't leak into the onboarding form.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/paymentMethod/splitForm/submitted` | Fired after the splits are successfully saved | The updated payment method |\n * | `employee/management/paymentMethod/splitForm/cancelled` | Fired when the user cancels the form | — |\n *\n * @param props - See {@link PaymentMethodSplitFormProps}.\n * @returns The split-paycheck form.\n * @public\n */\nexport function PaymentMethodSplitForm({\n employeeId,\n onEvent,\n ...hookProps\n}: PaymentMethodSplitFormProps) {\n const dictionary = useManagementSplitFormDictionary()\n\n return (\n <SplitPaymentsFormBody\n employeeId={employeeId}\n dictionary={dictionary}\n onSaved={data => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_SPLIT_FORM_SUBMITTED, data)\n }}\n onCancel={() => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_SPLIT_FORM_CANCELLED)\n }}\n {...hookProps}\n />\n )\n}\n"],"names":["PaymentMethodSplitForm","employeeId","onEvent","hookProps","dictionary","useManagementSplitFormDictionary","jsx","SplitPaymentsFormBody","data","componentEvents"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"PaymentMethodSplitForm.js","sources":["../../../../../src/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.tsx"],"sourcesContent":["import { SplitPaymentsFormBody } from '../shared/SplitPaymentsFormBody'\nimport type { UseSplitPaymentsFormProps } from '../shared/useSplitPaymentsForm'\nimport { useManagementSplitFormDictionary } from './useFormDictionary'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\n\n/**\n * Props for {@link PaymentMethodSplitForm}.\n *\n * @public\n */\nexport interface PaymentMethodSplitFormProps extends Omit<UseSplitPaymentsFormProps, 'employeeId'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired on split-form lifecycle events. */\n onEvent: OnEventType<EventType, unknown>\n}\n\n/**\n * Standalone split-paycheck form for the management flow.\n *\n * @remarks\n * Renders the shared split-payments form and emits per-component scoped events\n * when the form is submitted or cancelled. Reads its copy from the dedicated\n * `Employee.Management.PaymentMethodSplitForm` namespace so partner overrides\n * on the management split form don't leak into the onboarding form.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/paymentMethod/splitForm/submitted` | Fired after the splits are successfully saved | The updated payment method |\n * | `employee/management/paymentMethod/splitForm/cancelled` | Fired when the user cancels the form | — |\n *\n * @param props - See {@link PaymentMethodSplitFormProps}.\n * @returns The split-paycheck form.\n * @public\n */\nexport function PaymentMethodSplitForm({\n employeeId,\n onEvent,\n ...hookProps\n}: PaymentMethodSplitFormProps) {\n const dictionary = useManagementSplitFormDictionary()\n\n return (\n <SplitPaymentsFormBody\n employeeId={employeeId}\n dictionary={dictionary}\n onSaved={data => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_SPLIT_FORM_SUBMITTED, data)\n }}\n onCancel={() => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_SPLIT_FORM_CANCELLED)\n }}\n {...hookProps}\n />\n )\n}\n"],"names":["PaymentMethodSplitForm","employeeId","onEvent","hookProps","dictionary","useManagementSplitFormDictionary","jsx","SplitPaymentsFormBody","data","componentEvents"],"mappings":";;;;AAqCO,SAASA,EAAuB;AAAA,EACrC,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAAgC;AAC9B,QAAMC,IAAaC,EAAA;AAEnB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAAN;AAAA,MACA,YAAAG;AAAA,MACA,SAAS,CAAAI,MAAQ;AACf,QAAAN,EAAQO,EAAgB,yDAAyDD,CAAI;AAAA,MACvF;AAAA,MACA,UAAU,MAAM;AACd,QAAAN,EAAQO,EAAgB,uDAAuD;AAAA,MACjF;AAAA,MACC,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -7,35 +7,29 @@ const e = _(
|
|
|
7
7
|
component: n,
|
|
8
8
|
successAlert: null
|
|
9
9
|
})
|
|
10
|
-
), T = (M) => _(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
})
|
|
16
|
-
), P = {
|
|
10
|
+
), T = (M) => _((o) => ({
|
|
11
|
+
...o,
|
|
12
|
+
component: n,
|
|
13
|
+
successAlert: M
|
|
14
|
+
})), P = {
|
|
17
15
|
list: A(
|
|
18
16
|
E(
|
|
19
17
|
t.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_CARD_ADD_REQUESTED,
|
|
20
18
|
"add",
|
|
21
|
-
_(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
})
|
|
27
|
-
)
|
|
19
|
+
_((M) => ({
|
|
20
|
+
...M,
|
|
21
|
+
component: s,
|
|
22
|
+
successAlert: null
|
|
23
|
+
}))
|
|
28
24
|
),
|
|
29
25
|
E(
|
|
30
26
|
t.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_CARD_SPLIT_REQUESTED,
|
|
31
27
|
"split",
|
|
32
|
-
_(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
})
|
|
38
|
-
)
|
|
28
|
+
_((M) => ({
|
|
29
|
+
...M,
|
|
30
|
+
component: N,
|
|
31
|
+
successAlert: null
|
|
32
|
+
}))
|
|
39
33
|
),
|
|
40
34
|
E(
|
|
41
35
|
t.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_CARD_BANK_ACCOUNT_DELETED,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentMethodStateMachine.js","sources":["../../../../../src/components/Employee/PaymentMethod/management/paymentMethodStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type {\n PaymentMethodContextInterface,\n PaymentMethodSuccessAlertCode,\n} from './PaymentMethodComponents'\nimport {\n PaymentMethodCardContextual,\n PaymentMethodBankFormContextual,\n PaymentMethodSplitFormContextual,\n} from './PaymentMethodComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\nconst returnToList = reduce(\n (ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: PaymentMethodCardContextual as ComponentType,\n successAlert: null,\n }),\n)\n\nconst returnToListWithAlert = (alert: PaymentMethodSuccessAlertCode) =>\n reduce(
|
|
1
|
+
{"version":3,"file":"paymentMethodStateMachine.js","sources":["../../../../../src/components/Employee/PaymentMethod/management/paymentMethodStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type {\n PaymentMethodContextInterface,\n PaymentMethodSuccessAlertCode,\n} from './PaymentMethodComponents'\nimport {\n PaymentMethodCardContextual,\n PaymentMethodBankFormContextual,\n PaymentMethodSplitFormContextual,\n} from './PaymentMethodComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\nconst returnToList = reduce(\n (ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: PaymentMethodCardContextual as ComponentType,\n successAlert: null,\n }),\n)\n\nconst returnToListWithAlert = (alert: PaymentMethodSuccessAlertCode) =>\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: PaymentMethodCardContextual as ComponentType,\n successAlert: alert,\n }))\n\n/** @internal */\nexport const paymentMethodStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_CARD_ADD_REQUESTED,\n 'add',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: PaymentMethodBankFormContextual as ComponentType,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_CARD_SPLIT_REQUESTED,\n 'split',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: PaymentMethodSplitFormContextual as ComponentType,\n successAlert: null,\n })),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_CARD_BANK_ACCOUNT_DELETED,\n 'list',\n returnToListWithAlert('bankAccountDeleted'),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_ALERT_DISMISSED,\n 'list',\n returnToList,\n ),\n ),\n add: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_BANK_FORM_SUBMITTED,\n 'list',\n returnToListWithAlert('bankAccountAdded'),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_BANK_FORM_CANCELLED,\n 'list',\n returnToList,\n ),\n ),\n split: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_SPLIT_FORM_SUBMITTED,\n 'list',\n returnToListWithAlert('splitUpdated'),\n ),\n transition(\n componentEvents.EMPLOYEE_MANAGEMENT_PAYMENT_METHOD_SPLIT_FORM_CANCELLED,\n 'list',\n returnToList,\n ),\n ),\n}\n"],"names":["returnToList","reduce","ctx","PaymentMethodCardContextual","returnToListWithAlert","alert","paymentMethodStateMachine","state","transition","componentEvents","PaymentMethodBankFormContextual","PaymentMethodSplitFormContextual"],"mappings":";;;AAcA,MAAMA,IAAeC;AAAA,EACnB,CAACC,OAAuE;AAAA,IACtE,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,cAAc;AAAA,EAAA;AAElB,GAEMC,IAAwB,CAACC,MAC7BJ,EAAO,CAACC,OAAuE;AAAA,EAC7E,GAAGA;AAAA,EACH,WAAWC;AAAA,EACX,cAAcE;AAChB,EAAE,GAGSC,IAA4B;AAAA,EACvC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJF;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAR,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWS;AAAA,QACX,cAAc;AAAA,MAAA,EACd;AAAA,IAAA;AAAA,IAEJH;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAsB,oBAAoB;AAAA,IAAA;AAAA,IAE5CI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,KAAKO;AAAA,IACHC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAsB,kBAAkB;AAAA,IAAA;AAAA,IAE1CI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAAA,EAEF,OAAOO;AAAA,IACLC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAL,EAAsB,cAAc;AAAA,IAAA;AAAA,IAEtCI;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAT;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import { BaseComponentInterface
|
|
2
|
-
import { EventType } from '../../../../shared/constants';
|
|
3
|
-
import { OnEventType } from '../../../Base/useBase';
|
|
1
|
+
import { BaseComponentInterface } from '../../../Base';
|
|
4
2
|
/**
|
|
5
3
|
* Props for {@link PaymentMethod}.
|
|
6
4
|
*
|
|
7
5
|
* @public
|
|
8
6
|
*/
|
|
9
|
-
export interface PaymentMethodProps extends
|
|
7
|
+
export interface PaymentMethodProps extends BaseComponentInterface<'Employee.PaymentMethod'> {
|
|
10
8
|
/** The associated employee identifier. */
|
|
11
9
|
employeeId: string;
|
|
12
10
|
/** Not used — onboarding payment method editing operates on live data. */
|
|
13
11
|
defaultValues?: never;
|
|
14
12
|
/** Whether the current viewer is an admin. Defaults to `false`. */
|
|
15
13
|
isAdmin?: boolean;
|
|
16
|
-
/** Event handler fired on flow state changes. */
|
|
17
|
-
onEvent: OnEventType<EventType, unknown>;
|
|
18
14
|
}
|
|
19
15
|
/**
|
|
20
16
|
* Onboarding step for setting up an employee's payment method.
|
|
@@ -24,6 +20,7 @@ export interface PaymentMethodProps extends CommonComponentInterface<'Employee.P
|
|
|
24
20
|
* Deposit and Check, add bank accounts, and configure split-paycheck
|
|
25
21
|
* allocations across multiple accounts.
|
|
26
22
|
*
|
|
23
|
+
* @events
|
|
27
24
|
* | Event | Description | Data |
|
|
28
25
|
* | ----- | ----------- | ---- |
|
|
29
26
|
* | `employee/paymentMethod/updated` | Fired after the payment method is saved | The updated payment method |
|
|
@@ -49,6 +46,6 @@ export interface PaymentMethodProps extends CommonComponentInterface<'Employee.P
|
|
|
49
46
|
* }
|
|
50
47
|
* ```
|
|
51
48
|
*/
|
|
52
|
-
export declare function PaymentMethod({ dictionary, FallbackComponent, ...props }: PaymentMethodProps
|
|
49
|
+
export declare function PaymentMethod({ dictionary, FallbackComponent, ...props }: PaymentMethodProps): import("react").JSX.Element;
|
|
53
50
|
/** @internal */
|
|
54
51
|
export declare function PaymentMethodContextual(): import("react").JSX.Element;
|
|
@@ -26,11 +26,7 @@ function h({ employeeId: e, isAdmin: o = !1, onEvent: t }) {
|
|
|
26
26
|
);
|
|
27
27
|
return /* @__PURE__ */ m(f, { machine: n, onEvent: t });
|
|
28
28
|
}
|
|
29
|
-
function M({
|
|
30
|
-
dictionary: e,
|
|
31
|
-
FallbackComponent: o,
|
|
32
|
-
...t
|
|
33
|
-
}) {
|
|
29
|
+
function M({ dictionary: e, FallbackComponent: o, ...t }) {
|
|
34
30
|
return l("Employee.PaymentMethod", e), /* @__PURE__ */ m(s, { componentName: "Employee.PaymentMethod", FallbackComponent: o, children: /* @__PURE__ */ m(h, { ...t }) });
|
|
35
31
|
}
|
|
36
32
|
function D() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentMethod.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/PaymentMethod.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../../OnboardingFlow/OnboardingFlowComponents'\nimport type { PaymentMethodContextInterface } from './PaymentMethodComponents'\nimport { ListViewContextual } from './PaymentMethodComponents'\nimport { paymentMethodStateMachine } from './paymentMethodStateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport {
|
|
1
|
+
{"version":3,"file":"PaymentMethod.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/PaymentMethod.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport type { OnboardingContextInterface } from '../../OnboardingFlow/OnboardingFlowComponents'\nimport type { PaymentMethodContextInterface } from './PaymentMethodComponents'\nimport { ListViewContextual } from './PaymentMethodComponents'\nimport { paymentMethodStateMachine } from './paymentMethodStateMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { BaseBoundaries, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary } from '@/i18n/I18n'\nimport { useI18n } from '@/i18n'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link PaymentMethod}.\n *\n * @public\n */\nexport interface PaymentMethodProps extends BaseComponentInterface<'Employee.PaymentMethod'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Not used — onboarding payment method editing operates on live data. */\n defaultValues?: never\n /** Whether the current viewer is an admin. Defaults to `false`. */\n isAdmin?: boolean\n}\n\nfunction PaymentMethodFlow({ employeeId, isAdmin = false, onEvent }: PaymentMethodProps) {\n useI18n('Employee.PaymentMethod')\n\n const machine = useMemo(\n () =>\n createMachine(\n 'list',\n paymentMethodStateMachine,\n (initialContext: PaymentMethodContextInterface) => ({\n ...initialContext,\n component: ListViewContextual,\n employeeId,\n isAdmin,\n }),\n ),\n [employeeId, isAdmin],\n )\n\n return <Flow machine={machine} onEvent={onEvent} />\n}\n\n/**\n * Onboarding step for setting up an employee's payment method.\n *\n * @remarks\n * Lets the employee (or admin acting on their behalf) choose between Direct\n * Deposit and Check, add bank accounts, and configure split-paycheck\n * allocations across multiple accounts.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/paymentMethod/updated` | Fired after the payment method is saved | The updated payment method |\n * | `employee/paymentMethod/done` | Fired when payment method setup is complete and the parent flow can advance | — |\n * | `employee/bankAccount/created` | Fired after a bank account is successfully added | The created bank account |\n * | `employee/bankAccount/deleted` | Fired after a bank account is successfully removed | — |\n *\n * @param props - See {@link PaymentMethodProps}.\n * @returns The payment method onboarding step.\n * @public\n *\n * @example\n * ```tsx\n * import { EmployeeOnboarding } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <EmployeeOnboarding.PaymentMethod\n * employeeId=\"4b3f930f-82cd-48a8-b797-798686e12e5e\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function PaymentMethod({ dictionary, FallbackComponent, ...props }: PaymentMethodProps) {\n useComponentDictionary('Employee.PaymentMethod', dictionary)\n return (\n <BaseBoundaries componentName=\"Employee.PaymentMethod\" FallbackComponent={FallbackComponent}>\n <PaymentMethodFlow {...props} />\n </BaseBoundaries>\n )\n}\n\n/** @internal */\nexport function PaymentMethodContextual() {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n return (\n <PaymentMethod employeeId={ensureRequired(employeeId)} onEvent={onEvent} isAdmin={isAdmin} />\n )\n}\n"],"names":["PaymentMethodFlow","employeeId","isAdmin","onEvent","useI18n","machine","useMemo","createMachine","paymentMethodStateMachine","initialContext","ListViewContextual","jsx","Flow","PaymentMethod","dictionary","FallbackComponent","props","useComponentDictionary","BaseBoundaries","PaymentMethodContextual","useFlow","ensureRequired"],"mappings":";;;;;;;;;;;AA2BA,SAASA,EAAkB,EAAE,YAAAC,GAAY,SAAAC,IAAU,IAAO,SAAAC,KAA+B;AACvF,EAAAC,EAAQ,wBAAwB;AAEhC,QAAMC,IAAUC;AAAA,IACd,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAmD;AAAA,QAClD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,YAAAT;AAAA,QACA,SAAAC;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACD,GAAYC,CAAO;AAAA,EAAA;AAGtB,SAAO,gBAAAS,EAACC,GAAA,EAAK,SAAAP,GAAkB,SAAAF,EAAA,CAAkB;AACnD;AAoCO,SAASU,EAAc,EAAE,YAAAC,GAAY,mBAAAC,GAAmB,GAAGC,KAA6B;AAC7F,SAAAC,EAAuB,0BAA0BH,CAAU,GAEzD,gBAAAH,EAACO,KAAe,eAAc,0BAAyB,mBAAAH,GACrD,UAAA,gBAAAJ,EAACX,GAAA,EAAmB,GAAGgB,EAAA,CAAO,EAAA,CAChC;AAEJ;AAGO,SAASG,IAA0B;AACxC,QAAM,EAAE,YAAAlB,GAAY,SAAAE,GAAS,SAAAD,EAAA,IAAYkB,EAAA;AACzC,2BACGP,GAAA,EAAc,YAAYQ,EAAepB,CAAU,GAAG,SAAAE,GAAkB,SAAAD,GAAkB;AAE/F;"}
|
|
@@ -6,66 +6,54 @@ const l = {
|
|
|
6
6
|
o(
|
|
7
7
|
E.EMPLOYEE_BANK_ACCOUNT_CREATE,
|
|
8
8
|
"add",
|
|
9
|
-
n(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
})
|
|
14
|
-
)
|
|
9
|
+
n((t) => ({
|
|
10
|
+
...t,
|
|
11
|
+
component: m
|
|
12
|
+
}))
|
|
15
13
|
),
|
|
16
14
|
o(
|
|
17
15
|
E.EMPLOYEE_SPLIT_PAYMENT,
|
|
18
16
|
"split",
|
|
19
|
-
n(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})
|
|
24
|
-
)
|
|
17
|
+
n((t) => ({
|
|
18
|
+
...t,
|
|
19
|
+
component: p
|
|
20
|
+
}))
|
|
25
21
|
)
|
|
26
22
|
),
|
|
27
23
|
add: i(
|
|
28
24
|
o(
|
|
29
25
|
E.EMPLOYEE_BANK_ACCOUNT_CREATED,
|
|
30
26
|
"list",
|
|
31
|
-
n(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
})
|
|
36
|
-
)
|
|
27
|
+
n((t) => ({
|
|
28
|
+
...t,
|
|
29
|
+
component: e
|
|
30
|
+
}))
|
|
37
31
|
),
|
|
38
32
|
o(
|
|
39
33
|
E.CANCEL,
|
|
40
34
|
"list",
|
|
41
|
-
n(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
})
|
|
46
|
-
)
|
|
35
|
+
n((t) => ({
|
|
36
|
+
...t,
|
|
37
|
+
component: e
|
|
38
|
+
}))
|
|
47
39
|
)
|
|
48
40
|
),
|
|
49
41
|
split: i(
|
|
50
42
|
o(
|
|
51
43
|
E.EMPLOYEE_PAYMENT_METHOD_UPDATED,
|
|
52
44
|
"list",
|
|
53
|
-
n(
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
})
|
|
58
|
-
)
|
|
45
|
+
n((t) => ({
|
|
46
|
+
...t,
|
|
47
|
+
component: e
|
|
48
|
+
}))
|
|
59
49
|
),
|
|
60
50
|
o(
|
|
61
51
|
E.CANCEL,
|
|
62
52
|
"list",
|
|
63
|
-
n(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
})
|
|
68
|
-
)
|
|
53
|
+
n((t) => ({
|
|
54
|
+
...t,
|
|
55
|
+
component: e
|
|
56
|
+
}))
|
|
69
57
|
)
|
|
70
58
|
)
|
|
71
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paymentMethodStateMachine.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type { PaymentMethodContextInterface } from './PaymentMethodComponents'\nimport {\n ListViewContextual,\n BankFormContextual,\n SplitViewContextual,\n} from './PaymentMethodComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\n/** @internal */\nexport const paymentMethodStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATE,\n 'add',\n reduce(
|
|
1
|
+
{"version":3,"file":"paymentMethodStateMachine.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.ts"],"sourcesContent":["import { reduce, state, transition } from 'robot3'\nimport type { ComponentType } from 'react'\nimport type { PaymentMethodContextInterface } from './PaymentMethodComponents'\nimport {\n ListViewContextual,\n BankFormContextual,\n SplitViewContextual,\n} from './PaymentMethodComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\n\n/** @internal */\nexport const paymentMethodStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATE,\n 'add',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: BankFormContextual as ComponentType,\n })),\n ),\n transition(\n componentEvents.EMPLOYEE_SPLIT_PAYMENT,\n 'split',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: SplitViewContextual as ComponentType,\n })),\n ),\n ),\n add: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATED,\n 'list',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: ListViewContextual as ComponentType,\n })),\n ),\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: ListViewContextual as ComponentType,\n })),\n ),\n ),\n split: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_PAYMENT_METHOD_UPDATED,\n 'list',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: ListViewContextual as ComponentType,\n })),\n ),\n transition(\n componentEvents.CANCEL,\n 'list',\n reduce((ctx: PaymentMethodContextInterface): PaymentMethodContextInterface => ({\n ...ctx,\n component: ListViewContextual as ComponentType,\n })),\n ),\n ),\n}\n"],"names":["paymentMethodStateMachine","state","transition","componentEvents","reduce","ctx","BankFormContextual","SplitViewContextual","ListViewContextual"],"mappings":";;;AAYO,MAAMA,IAA4B;AAAA,EACvC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWC;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,IAEJJ;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWE;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,KAAKN;AAAA,IACHC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWG;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,IAEJN;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWG;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,OAAOP;AAAA,IACLC;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWG;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,IAEJN;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAWG;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAEJ;"}
|
|
@@ -35,13 +35,13 @@ export interface UseBankFormProps {
|
|
|
35
35
|
* @public
|
|
36
36
|
*/
|
|
37
37
|
export interface BankFormFields {
|
|
38
|
-
/** Bound to `name
|
|
38
|
+
/** Bound to `name`. */
|
|
39
39
|
Name: typeof NameField;
|
|
40
|
-
/** Bound to `routingNumber
|
|
40
|
+
/** Bound to `routingNumber`. */
|
|
41
41
|
RoutingNumber: typeof RoutingNumberField;
|
|
42
|
-
/** Bound to `accountNumber
|
|
42
|
+
/** Bound to `accountNumber`. */
|
|
43
43
|
AccountNumber: typeof AccountNumberField;
|
|
44
|
-
/** Bound to `accountType
|
|
44
|
+
/** Bound to `accountType`. */
|
|
45
45
|
AccountType: typeof AccountTypeField;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBankForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api-v-2025-11-15/models/components/employeebankaccount'\nimport { useEmployeePaymentMethodCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodCreate'\nimport {\n ACCOUNT_TYPES,\n type AccountType,\n createBankFormSchema,\n type BankFormData,\n type BankFormOptionalFieldsToRequire,\n type BankFormOutputs,\n} from './useBankFormSchema'\nimport { AccountNumberField, AccountTypeField, NameField, RoutingNumberField } from './fields'\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'\n\n/**\n * Optional submit-time overrides for {@link useBankForm}'s `onSubmit`.\n *\n * @public\n */\nexport interface BankFormSubmitOptions {\n /** Override the `employeeId` configured at hook construction. Useful when the employee is created in the same submit chain. */\n employeeId?: string\n}\n\n/**\n * Props for {@link useBankForm}.\n *\n * @public\n */\nexport interface UseBankFormProps {\n /** Employee for whom to create the bank account. May be supplied later via `BankFormSubmitOptions.employeeId`. */\n employeeId?: string\n /** Override optional fields to be required. Reserved for future schema expansion — every field is required by default. */\n optionalFieldsToRequire?: BankFormOptionalFieldsToRequire\n /** Pre-fill form values. `accountType` defaults to `'Checking'` when not supplied. */\n defaultValues?: Partial<BankFormData>\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useBankForm} on `form.Fields`.\n *\n * @public\n */\nexport interface BankFormFields {\n /** Bound to `name` — see {@link NameField}. */\n Name: typeof NameField\n /** Bound to `routingNumber` — see {@link RoutingNumberField}. */\n RoutingNumber: typeof RoutingNumberField\n /** Bound to `accountNumber` — see {@link AccountNumberField}. */\n AccountNumber: typeof AccountNumberField\n /** Bound to `accountType` — see {@link AccountTypeField}. */\n AccountType: typeof AccountTypeField\n}\n\n/**\n * Ready-state return value of {@link useBankForm}.\n *\n * @public\n */\nexport interface UseBankFormReady extends BaseFormHookReady<\n FieldsMetadata,\n BankFormData,\n BankFormFields\n> {\n /** No server-fetched data — the create form derives everything from user input. */\n data: Record<string, never>\n /** `isPending` reflects the in-flight create mutation; `mode` is always `'create'`. */\n status: { isPending: boolean; mode: 'create' }\n /** Submit the form. Optional {@link BankFormSubmitOptions} can override the `employeeId` supplied to the hook. */\n actions: {\n onSubmit: (\n options?: BankFormSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeBankAccount> | undefined>\n }\n}\n\n/**\n * Headless React Hook Form hook for creating an employee bank account.\n *\n * @remarks\n * Captures the account nickname, routing number, account number, and account\n * type. Creating a bank account also updates the employee's payment method on\n * the Gusto API. Returns the standard `HookLoadingResult | UseBankFormReady`\n * discriminated union; in practice the hook transitions to the ready state\n * immediately because it does not fetch any server data.\n *\n * @param props - See {@link UseBankFormProps}.\n * @returns A loading-state result while the hook is initializing, or a {@link UseBankFormReady} ready to render.\n * @public\n *\n * @example\n * ```tsx\n * import { useBankForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function AddBankAccount({ employeeId }: { employeeId: string }) {\n * const bankForm = useBankForm({ employeeId })\n *\n * if (bankForm.isLoading) return null\n * const { Fields } = bankForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={bankForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void bankForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Name label=\"Account nickname\" />\n * <Fields.RoutingNumber label=\"Routing number\" />\n * <Fields.AccountNumber label=\"Account number\" />\n * <Fields.AccountType label=\"Account type\" />\n * <button type=\"submit\" disabled={bankForm.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useBankForm({\n employeeId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseBankFormProps): HookLoadingResult | UseBankFormReady {\n const [schema, metadataConfig] = useMemo(\n () => createBankFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: BankFormData = useMemo(\n () => ({\n name: partnerDefaults?.name ?? '',\n routingNumber: partnerDefaults?.routingNumber ?? '',\n accountNumber: partnerDefaults?.accountNumber ?? '',\n accountType: (partnerDefaults?.accountType ?? 'Checking') as AccountType,\n }),\n [partnerDefaults],\n )\n\n const formMethods = useForm<BankFormData, unknown, BankFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createMutation = useEmployeePaymentMethodCreateMutation()\n const isPending = createMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('BankForm')\n\n const errorHandling = composeErrorHandler([], { submitError, setSubmitError })\n\n const accountTypeOptions = ACCOUNT_TYPES.map(value => ({ value, label: value }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n name: baseMetadata.name,\n routingNumber: baseMetadata.routingNumber,\n accountNumber: baseMetadata.accountNumber,\n accountType: withOptions<AccountType>(baseMetadata.accountType, accountTypeOptions, [\n ...ACCOUNT_TYPES,\n ]),\n }\n\n const onSubmit = async (\n options?: BankFormSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeBankAccount> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeBankAccount> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: BankFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n if (!resolvedEmployeeId) {\n throw new SDKInternalError(\n 'employeeId is required to submit a bank account. Pass it to useBankForm or via BankFormSubmitOptions.',\n )\n }\n\n const response = await createMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n employeeBankAccountRequest: {\n name: payload.name,\n routingNumber: payload.routingNumber,\n accountNumber: payload.accountNumber,\n accountType: payload.accountType,\n },\n },\n })\n\n if (!response.employeeBankAccount) {\n throw new SDKInternalError('Bank account creation failed')\n }\n\n submitResult = { mode: 'create' as const, data: response.employeeBankAccount }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n return {\n isLoading: false as const,\n data: {} as Record<string, never>,\n status: { isPending, mode: 'create' as const },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Name: NameField,\n RoutingNumber: RoutingNumberField,\n AccountNumber: AccountNumberField,\n AccountType: AccountTypeField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link useBankForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseBankFormResult = HookLoadingResult | UseBankFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link useBankForm}.\n *\n * @public\n */\nexport type BankFormFieldsMetadata = UseBankFormReady['form']['fieldsMetadata']\n"],"names":["useBankForm","employeeId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","schema","metadataConfig","useMemo","createBankFormSchema","resolvedDefaults","formMethods","useForm","zodResolver","createMutation","useEmployeePaymentMethodCreateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","accountTypeOptions","ACCOUNT_TYPES","value","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedEmployeeId","SDKInternalError","response","hookFormInternals","useHookFormInternals","NameField","RoutingNumberField","AccountNumberField","AccountTypeField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBankForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api-v-2025-11-15/models/components/employeebankaccount'\nimport { useEmployeePaymentMethodCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodCreate'\nimport {\n ACCOUNT_TYPES,\n type AccountType,\n createBankFormSchema,\n type BankFormData,\n type BankFormOptionalFieldsToRequire,\n type BankFormOutputs,\n} from './useBankFormSchema'\nimport { AccountNumberField, AccountTypeField, NameField, RoutingNumberField } from './fields'\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'\n\n/**\n * Optional submit-time overrides for {@link useBankForm}'s `onSubmit`.\n *\n * @public\n */\nexport interface BankFormSubmitOptions {\n /** Override the `employeeId` configured at hook construction. Useful when the employee is created in the same submit chain. */\n employeeId?: string\n}\n\n/**\n * Props for {@link useBankForm}.\n *\n * @public\n */\nexport interface UseBankFormProps {\n /** Employee for whom to create the bank account. May be supplied later via `BankFormSubmitOptions.employeeId`. */\n employeeId?: string\n /** Override optional fields to be required. Reserved for future schema expansion — every field is required by default. */\n optionalFieldsToRequire?: BankFormOptionalFieldsToRequire\n /** Pre-fill form values. `accountType` defaults to `'Checking'` when not supplied. */\n defaultValues?: Partial<BankFormData>\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link useBankForm} on `form.Fields`.\n *\n * @public\n */\nexport interface BankFormFields {\n /** Bound to `name`. */\n Name: typeof NameField\n /** Bound to `routingNumber`. */\n RoutingNumber: typeof RoutingNumberField\n /** Bound to `accountNumber`. */\n AccountNumber: typeof AccountNumberField\n /** Bound to `accountType`. */\n AccountType: typeof AccountTypeField\n}\n\n/**\n * Ready-state return value of {@link useBankForm}.\n *\n * @public\n */\nexport interface UseBankFormReady extends BaseFormHookReady<\n FieldsMetadata,\n BankFormData,\n BankFormFields\n> {\n /** No server-fetched data — the create form derives everything from user input. */\n data: Record<string, never>\n /** `isPending` reflects the in-flight create mutation; `mode` is always `'create'`. */\n status: { isPending: boolean; mode: 'create' }\n /** Submit the form. Optional {@link BankFormSubmitOptions} can override the `employeeId` supplied to the hook. */\n actions: {\n onSubmit: (\n options?: BankFormSubmitOptions,\n ) => Promise<HookSubmitResult<EmployeeBankAccount> | undefined>\n }\n}\n\n/**\n * Headless React Hook Form hook for creating an employee bank account.\n *\n * @remarks\n * Captures the account nickname, routing number, account number, and account\n * type. Creating a bank account also updates the employee's payment method on\n * the Gusto API. Returns the standard `HookLoadingResult | UseBankFormReady`\n * discriminated union; in practice the hook transitions to the ready state\n * immediately because it does not fetch any server data.\n *\n * @param props - See {@link UseBankFormProps}.\n * @returns A loading-state result while the hook is initializing, or a {@link UseBankFormReady} ready to render.\n * @public\n *\n * @example\n * ```tsx\n * import { useBankForm, SDKFormProvider } from '@gusto/embedded-react-sdk'\n *\n * function AddBankAccount({ employeeId }: { employeeId: string }) {\n * const bankForm = useBankForm({ employeeId })\n *\n * if (bankForm.isLoading) return null\n * const { Fields } = bankForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={bankForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void bankForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Name label=\"Account nickname\" />\n * <Fields.RoutingNumber label=\"Routing number\" />\n * <Fields.AccountNumber label=\"Account number\" />\n * <Fields.AccountType label=\"Account type\" />\n * <button type=\"submit\" disabled={bankForm.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function useBankForm({\n employeeId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UseBankFormProps): HookLoadingResult | UseBankFormReady {\n const [schema, metadataConfig] = useMemo(\n () => createBankFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: BankFormData = useMemo(\n () => ({\n name: partnerDefaults?.name ?? '',\n routingNumber: partnerDefaults?.routingNumber ?? '',\n accountNumber: partnerDefaults?.accountNumber ?? '',\n accountType: (partnerDefaults?.accountType ?? 'Checking') as AccountType,\n }),\n [partnerDefaults],\n )\n\n const formMethods = useForm<BankFormData, unknown, BankFormOutputs>({\n resolver: zodResolver(schema),\n mode: validationMode,\n shouldFocusError,\n defaultValues: resolvedDefaults,\n values: resolvedDefaults,\n resetOptions: { keepDirtyValues: true },\n })\n\n const createMutation = useEmployeePaymentMethodCreateMutation()\n const isPending = createMutation.isPending\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('BankForm')\n\n const errorHandling = composeErrorHandler([], { submitError, setSubmitError })\n\n const accountTypeOptions = ACCOUNT_TYPES.map(value => ({ value, label: value }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n name: baseMetadata.name,\n routingNumber: baseMetadata.routingNumber,\n accountNumber: baseMetadata.accountNumber,\n accountType: withOptions<AccountType>(baseMetadata.accountType, accountTypeOptions, [\n ...ACCOUNT_TYPES,\n ]),\n }\n\n const onSubmit = async (\n options?: BankFormSubmitOptions,\n ): Promise<HookSubmitResult<EmployeeBankAccount> | undefined> => {\n let submitResult: HookSubmitResult<EmployeeBankAccount> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: BankFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const resolvedEmployeeId = options?.employeeId ?? employeeId\n if (!resolvedEmployeeId) {\n throw new SDKInternalError(\n 'employeeId is required to submit a bank account. Pass it to useBankForm or via BankFormSubmitOptions.',\n )\n }\n\n const response = await createMutation.mutateAsync({\n request: {\n employeeId: resolvedEmployeeId,\n employeeBankAccountRequest: {\n name: payload.name,\n routingNumber: payload.routingNumber,\n accountNumber: payload.accountNumber,\n accountType: payload.accountType,\n },\n },\n })\n\n if (!response.employeeBankAccount) {\n throw new SDKInternalError('Bank account creation failed')\n }\n\n submitResult = { mode: 'create' as const, data: response.employeeBankAccount }\n })\n resolve()\n },\n () => {\n resolve()\n },\n )()\n })\n\n return submitResult\n }\n\n const hookFormInternals = useHookFormInternals(formMethods)\n\n return {\n isLoading: false as const,\n data: {} as Record<string, never>,\n status: { isPending, mode: 'create' as const },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Name: NameField,\n RoutingNumber: RoutingNumberField,\n AccountNumber: AccountNumberField,\n AccountType: AccountTypeField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link useBankForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UseBankFormResult = HookLoadingResult | UseBankFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link useBankForm}.\n *\n * @public\n */\nexport type BankFormFieldsMetadata = UseBankFormReady['form']['fieldsMetadata']\n"],"names":["useBankForm","employeeId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","schema","metadataConfig","useMemo","createBankFormSchema","resolvedDefaults","formMethods","useForm","zodResolver","createMutation","useEmployeePaymentMethodCreateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","accountTypeOptions","ACCOUNT_TYPES","value","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","options","submitResult","resolve","data","payload","resolvedEmployeeId","SDKInternalError","response","hookFormInternals","useHookFormInternals","NameField","RoutingNumberField","AccountNumberField","AccountTypeField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ export type BankFormField = "name" | "routingNumber" | "accountNumber" | "accoun
|
|
|
40
40
|
* Shape of the values managed by the bank account form.
|
|
41
41
|
*
|
|
42
42
|
* @public
|
|
43
|
+
* @interface
|
|
43
44
|
*/
|
|
44
45
|
export type BankFormData = { name: string; routingNumber: string; accountNumber: string; accountType: "Checking" | "Savings"; };
|
|
45
46
|
/**
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { z as e } from "zod";
|
|
2
2
|
import { buildFormSchema as N } from "../../../../../partner-hook-utils/form/buildFormSchema.js";
|
|
3
|
+
import { ACCOUNT_NUMBER_REGEX as i, ROUTING_NUMBER_REGEX as n } from "../../../../../helpers/validations.js";
|
|
3
4
|
const r = {
|
|
4
5
|
REQUIRED: "REQUIRED",
|
|
5
6
|
INVALID_ROUTING_NUMBER: "INVALID_ROUTING_NUMBER",
|
|
6
7
|
INVALID_ACCOUNT_NUMBER: "INVALID_ACCOUNT_NUMBER"
|
|
7
|
-
},
|
|
8
|
+
}, R = ["Checking", "Savings"], t = {
|
|
8
9
|
name: e.string(),
|
|
9
10
|
routingNumber: e.string().regex(n, { message: r.INVALID_ROUTING_NUMBER }),
|
|
10
11
|
accountNumber: e.string().regex(i, { message: r.INVALID_ACCOUNT_NUMBER }),
|
|
11
|
-
accountType: e.enum(
|
|
12
|
+
accountType: e.enum(R)
|
|
12
13
|
}, E = {};
|
|
13
|
-
function
|
|
14
|
-
return N(
|
|
14
|
+
function s(o = {}) {
|
|
15
|
+
return N(t, {
|
|
15
16
|
requiredFieldsConfig: E,
|
|
16
17
|
requiredErrorCode: r.REQUIRED,
|
|
17
18
|
mode: "create",
|
|
@@ -19,8 +20,8 @@ function I(o = {}) {
|
|
|
19
20
|
});
|
|
20
21
|
}
|
|
21
22
|
export {
|
|
22
|
-
|
|
23
|
+
R as ACCOUNT_TYPES,
|
|
23
24
|
r as BankFormErrorCodes,
|
|
24
|
-
|
|
25
|
+
s as createBankFormSchema
|
|
25
26
|
};
|
|
26
27
|
//# sourceMappingURL=useBankFormSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBankFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\n\n/**\n * Validation error codes emitted by the bank account form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const BankFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_ROUTING_NUMBER: 'INVALID_ROUTING_NUMBER',\n INVALID_ACCOUNT_NUMBER: 'INVALID_ACCOUNT_NUMBER',\n} as const\n\n/**\n * Union of validation error code strings emitted by the bank account form\n * schema.\n *\n * @public\n */\nexport type BankFormErrorCode = (typeof BankFormErrorCodes)[keyof typeof BankFormErrorCodes]\n\
|
|
1
|
+
{"version":3,"file":"useBankFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { ACCOUNT_NUMBER_REGEX, ROUTING_NUMBER_REGEX } from '@/helpers/validations'\n\n/**\n * Validation error codes emitted by the bank account form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const BankFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n INVALID_ROUTING_NUMBER: 'INVALID_ROUTING_NUMBER',\n INVALID_ACCOUNT_NUMBER: 'INVALID_ACCOUNT_NUMBER',\n} as const\n\n/**\n * Union of validation error code strings emitted by the bank account form\n * schema.\n *\n * @public\n */\nexport type BankFormErrorCode = (typeof BankFormErrorCodes)[keyof typeof BankFormErrorCodes]\n\n/**\n * Supported bank account type values: checking and savings.\n *\n * @public\n */\nexport const ACCOUNT_TYPES = ['Checking', 'Savings'] as const\n/**\n * Union of bank account type values that the form accepts.\n *\n * @public\n */\nexport type AccountType = (typeof ACCOUNT_TYPES)[number]\n\nconst fieldValidators = {\n name: z.string(),\n routingNumber: z\n .string()\n .regex(ROUTING_NUMBER_REGEX, { message: BankFormErrorCodes.INVALID_ROUTING_NUMBER }),\n accountNumber: z\n .string()\n .regex(ACCOUNT_NUMBER_REGEX, { message: BankFormErrorCodes.INVALID_ACCOUNT_NUMBER }),\n accountType: z.enum(ACCOUNT_TYPES),\n}\n\n/**\n * Field names accepted by the bank account form.\n *\n * @public\n */\nexport type BankFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the bank account form.\n *\n * @public\n * @interface\n */\nexport type BankFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n/**\n * Shape of the validated values produced by the bank account form on submit.\n *\n * @public\n */\nexport type BankFormOutputs = BankFormData\n\nconst requiredFieldsConfig = {} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n/**\n * Keys of optional bank account fields that can be promoted to required via\n * the hook's `optionalFieldsToRequire` option.\n *\n * @public\n */\nexport type BankFormOptionalFieldsToRequire = OptionalFieldsToRequire<typeof requiredFieldsConfig>\n\n/** @internal */\ninterface BankFormSchemaOptions {\n optionalFieldsToRequire?: BankFormOptionalFieldsToRequire\n}\n\n/** @internal */\nexport function createBankFormSchema(options: BankFormSchemaOptions = {}) {\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: BankFormErrorCodes.REQUIRED,\n mode: 'create',\n optionalFieldsToRequire: options.optionalFieldsToRequire,\n })\n}\n"],"names":["BankFormErrorCodes","ACCOUNT_TYPES","fieldValidators","z","ROUTING_NUMBER_REGEX","ACCOUNT_NUMBER_REGEX","requiredFieldsConfig","createBankFormSchema","options","buildFormSchema"],"mappings":";;;AAcO,MAAMA,IAAqB;AAAA,EAChC,UAAU;AAAA,EACV,wBAAwB;AAAA,EACxB,wBAAwB;AAC1B,GAeaC,IAAgB,CAAC,YAAY,SAAS,GAQ7CC,IAAkB;AAAA,EACtB,MAAMC,EAAE,OAAA;AAAA,EACR,eAAeA,EACZ,OAAA,EACA,MAAMC,GAAsB,EAAE,SAASJ,EAAmB,wBAAwB;AAAA,EACrF,eAAeG,EACZ,OAAA,EACA,MAAME,GAAsB,EAAE,SAASL,EAAmB,wBAAwB;AAAA,EACrF,aAAaG,EAAE,KAAKF,CAAa;AACnC,GAyBMK,IAAuB,CAAA;AAgBtB,SAASC,EAAqBC,IAAiC,IAAI;AACxE,SAAOC,EAAgBP,GAAiB;AAAA,IACtC,sBAAAI;AAAA,IACA,mBAAmBN,EAAmB;AAAA,IACtC,MAAM;AAAA,IACN,yBAAyBQ,EAAQ;AAAA,EAAA,CAClC;AACH;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentMethodForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api-v-2025-11-15/models/components/employeepaymentmethod'\nimport { useEmployeePaymentMethodGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodGet'\nimport { useEmployeePaymentMethodUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodUpdate'\nimport {\n PAYMENT_METHOD_TYPES,\n type PaymentMethodFormData,\n type PaymentMethodFormOptionalFieldsToRequire,\n type PaymentMethodFormOutputs,\n type PaymentMethodType,\n createPaymentMethodFormSchema,\n} from './usePaymentMethodFormSchema'\nimport { TypeField } from './fields'\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 { PAYMENT_METHODS, SPLIT_BY } from '@/shared/constants'\n\n/**\n * Props for {@link usePaymentMethodForm}.\n *\n * @public\n */\nexport interface UsePaymentMethodFormProps {\n /** Employee whose payment method is being edited. */\n employeeId: string\n /** Override optional fields to be required. Reserved for future schema expansion — `type` is always required and always has a default. */\n optionalFieldsToRequire?: PaymentMethodFormOptionalFieldsToRequire\n /** Pre-fill form values. Server data (the current payment method) is used when no override is supplied. */\n defaultValues?: Partial<PaymentMethodFormData>\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link usePaymentMethodForm} on `form.Fields`.\n *\n * @public\n */\nexport interface PaymentMethodFormFields {\n /** Bound to `type` — see {@link TypeField}. */\n Type: typeof TypeField\n}\n\n/**\n * Ready-state return value of {@link usePaymentMethodForm}.\n *\n * @public\n */\nexport interface UsePaymentMethodFormReady extends BaseFormHookReady<\n FieldsMetadata,\n PaymentMethodFormData,\n PaymentMethodFormFields\n> {\n /** The employee's current payment method, loaded from the API. */\n data: {\n paymentMethod: EmployeePaymentMethod\n }\n /** `isPending` reflects the in-flight update mutation; `mode` is always `'update'`. */\n status: { isPending: boolean; mode: 'update' }\n /** Submit the form. Returns the updated payment method on success or `undefined` on validation/mutation failure. */\n actions: {\n onSubmit: () => Promise<HookSubmitResult<EmployeePaymentMethod> | undefined>\n }\n}\n\n/**\n * Headless React Hook Form hook for updating an employee's payment method.\n *\n * @remarks\n * Switches between Direct Deposit and Check. Always operates in update mode —\n * every employee has a payment method, defaulting to Check. Switching to Check\n * sends a minimal request body; switching to or staying on Direct Deposit\n * preserves the existing splits and version so split allocations are not lost\n * when only the type changes.\n *\n * @param props - See {@link UsePaymentMethodFormProps}.\n * @returns A loading-state result while the current payment method is loading, or a {@link UsePaymentMethodFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * usePaymentMethodForm,\n * SDKFormProvider,\n * PAYMENT_METHODS,\n * type PaymentMethodType,\n * } from '@gusto/embedded-react-sdk'\n *\n * function PaymentMethodScreen({ employeeId }: { employeeId: string }) {\n * const paymentMethodForm = usePaymentMethodForm({ employeeId })\n *\n * if (paymentMethodForm.isLoading) return null\n * const { Fields } = paymentMethodForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={paymentMethodForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void paymentMethodForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Type\n * label=\"Select payment method\"\n * getOptionLabel={(value: PaymentMethodType) =>\n * value === PAYMENT_METHODS.directDeposit ? 'Direct Deposit' : 'Check'\n * }\n * />\n * <button type=\"submit\" disabled={paymentMethodForm.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function usePaymentMethodForm({\n employeeId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UsePaymentMethodFormProps): HookLoadingResult | UsePaymentMethodFormReady {\n const paymentMethodQuery = useEmployeePaymentMethodGet({ employeeId })\n const paymentMethod = paymentMethodQuery.data?.employeePaymentMethod\n\n const [schema, metadataConfig] = useMemo(\n () => createPaymentMethodFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: PaymentMethodFormData = useMemo(\n () => ({\n type: (partnerDefaults?.type ??\n paymentMethod?.type ??\n PAYMENT_METHODS.directDeposit) as PaymentMethodType,\n }),\n [partnerDefaults, paymentMethod],\n )\n\n const formMethods = useForm<PaymentMethodFormData, unknown, PaymentMethodFormOutputs>({\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('PaymentMethodForm')\n\n const errorHandling = composeErrorHandler([paymentMethodQuery], {\n submitError,\n setSubmitError,\n })\n\n const typeOptions = PAYMENT_METHOD_TYPES.map(value => ({ value, label: value }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n type: withOptions<PaymentMethodType>(baseMetadata.type, typeOptions, [...PAYMENT_METHOD_TYPES]),\n }\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeePaymentMethod> | undefined> => {\n if (!paymentMethod) {\n throw new SDKInternalError('Cannot submit payment method form before data is loaded')\n }\n const currentPaymentMethod = paymentMethod\n let submitResult: HookSubmitResult<EmployeePaymentMethod> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: PaymentMethodFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const version = currentPaymentMethod.version as string\n const body =\n payload.type === PAYMENT_METHODS.check\n ? { version }\n : {\n ...currentPaymentMethod,\n version,\n splitBy: currentPaymentMethod.splitBy ?? SPLIT_BY.percentage,\n splits: currentPaymentMethod.splits ?? [],\n }\n\n const response = await updateMutation.mutateAsync({\n request: { employeeId, requestBody: { ...body, type: payload.type } },\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 (paymentMethodQuery.isLoading || !paymentMethod) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { paymentMethod },\n status: { isPending, mode: 'update' as const },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Type: TypeField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link usePaymentMethodForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UsePaymentMethodFormResult = HookLoadingResult | UsePaymentMethodFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link usePaymentMethodForm}.\n *\n * @public\n */\nexport type PaymentMethodFormFieldsMetadata = UsePaymentMethodFormReady['form']['fieldsMetadata']\n"],"names":["usePaymentMethodForm","employeeId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","paymentMethodQuery","useEmployeePaymentMethodGet","paymentMethod","schema","metadataConfig","useMemo","createPaymentMethodFormSchema","resolvedDefaults","PAYMENT_METHODS","formMethods","useForm","zodResolver","updateMutation","useEmployeePaymentMethodUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","typeOptions","PAYMENT_METHOD_TYPES","value","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","SDKInternalError","currentPaymentMethod","submitResult","resolve","data","payload","version","body","SPLIT_BY","response","hookFormInternals","useHookFormInternals","TypeField","createGetFormSubmissionValues"],"mappings":";;;;;;;;;;;;;;;AAmIO,SAASA,GAAqB;AAAA,EACnC,YAAAC;AAAA,EACA,yBAAAC;AAAA,EACA,eAAeC;AAAA,EACf,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC,IAAmB;AACrB,GAA6E;AAC3E,QAAMC,IAAqBC,EAA4B,EAAE,YAAAN,GAAY,GAC/DO,IAAgBF,EAAmB,MAAM,uBAEzC,CAACG,GAAQC,CAAc,IAAIC;AAAA,IAC/B,MAAMC,EAA8B,EAAE,yBAAAV,GAAyB;AAAA,IAC/D,CAACA,CAAuB;AAAA,EAAA,GAGpBW,IAA0CF;AAAA,IAC9C,OAAO;AAAA,MACL,MAAOR,GAAiB,QACtBK,GAAe,QACfM,EAAgB;AAAA,IAAA;AAAA,IAEpB,CAACX,GAAiBK,CAAa;AAAA,EAAA,GAG3BO,IAAcC,EAAkE;AAAA,IACpF,UAAUC,EAAYR,CAAM;AAAA,IAC5B,MAAML;AAAA,IACN,kBAAAC;AAAA,IACA,eAAeQ;AAAA,IACf,QAAQA;AAAA,IACR,cAAc,EAAE,iBAAiB,GAAA;AAAA,EAAK,CACvC,GAEKK,IAAiBC,EAAA,GACjBC,IAAYF,EAAe,WAE3B;AAAA,IACJ,mBAAAG;AAAA,IACA,OAAOC;AAAA,IACP,UAAUC;AAAA,EAAA,IACRC,EAAc,mBAAmB,GAE/BC,IAAgBC,EAAoB,CAACpB,CAAkB,GAAG;AAAA,IAC9D,aAAAgB;AAAA,IACA,gBAAAC;AAAA,EAAA,CACD,GAEKI,IAAcC,EAAqB,IAAI,CAAAC,OAAU,EAAE,OAAAA,GAAO,OAAOA,IAAQ,GAEzEC,IAAeC,EAAwBrB,GAAgBK,EAAY,OAAO,GAC1EiB,IAAiB;AAAA,IACrB,MAAMC,EAA+BH,EAAa,MAAMH,GAAa,CAAC,GAAGC,CAAoB,CAAC;AAAA,EAAA,GAG1FM,IAAW,YAA0E;AACzF,QAAI,CAAC1B;AACH,YAAM,IAAI2B,EAAiB,yDAAyD;AAEtF,UAAMC,IAAuB5B;AAC7B,QAAI6B;AAEJ,iBAAM,IAAI,QAAc,CAAAC,MAAW;AACjC,MAAKvB,EAAY;AAAA,QACf,OAAOwB,MAAmC;AACxC,gBAAMlB,EAAkBkB,GAAM,OAAMC,MAAW;AAC7C,kBAAMC,IAAUL,EAAqB,SAC/BM,IACJF,EAAQ,SAAS1B,EAAgB,QAC7B,EAAE,SAAA2B,MACF;AAAA,cACE,GAAGL;AAAA,cACH,SAAAK;AAAA,cACA,SAASL,EAAqB,WAAWO,EAAS;AAAA,cAClD,QAAQP,EAAqB,UAAU,CAAA;AAAA,YAAC,GAG1CQ,IAAW,MAAM1B,EAAe,YAAY;AAAA,cAChD,SAAS,EAAE,YAAAjB,GAAY,aAAa,EAAE,GAAGyC,GAAM,MAAMF,EAAQ,KAAA,EAAK;AAAA,YAAE,CACrE;AAED,gBAAI,CAACI,EAAS;AACZ,oBAAM,IAAIT,EAAiB,8BAA8B;AAG3D,YAAAE,IAAe,EAAE,MAAM,UAAmB,MAAMO,EAAS,sBAAA;AAAA,UAC3D,CAAC,GACDN,EAAA;AAAA,QACF;AAAA,QACA,MAAM;AACJ,UAAAA,EAAA;AAAA,QACF;AAAA,MAAA,EACF;AAAA,IACF,CAAC,GAEMD;AAAA,EACT,GAEMQ,IAAoBC,EAAqB/B,CAAW;AAE1D,SAAIT,EAAmB,aAAa,CAACE,IAC5B,EAAE,WAAW,IAAe,eAAAiB,EAAA,IAG9B;AAAA,IACL,WAAW;AAAA,IACX,MAAM,EAAE,eAAAjB,EAAA;AAAA,IACR,QAAQ,EAAE,WAAAY,GAAW,MAAM,SAAA;AAAA,IAC3B,SAAS,EAAE,UAAAc,EAAA;AAAA,IACX,eAAAT;AAAA,IACA,MAAM;AAAA,MACJ,QAAQ;AAAA,QACN,MAAMsB;AAAA,MAAA;AAAA,MAER,gBAAAf;AAAA,MACA,mBAAAa;AAAA,MACA,yBAAyBG,EAA8BjC,GAAaN,CAAM;AAAA,IAAA;AAAA,EAC5E;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"usePaymentMethodForm.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useForm } from 'react-hook-form'\nimport type { UseFormProps } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api-v-2025-11-15/models/components/employeepaymentmethod'\nimport { useEmployeePaymentMethodGet } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodGet'\nimport { useEmployeePaymentMethodUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodUpdate'\nimport {\n PAYMENT_METHOD_TYPES,\n type PaymentMethodFormData,\n type PaymentMethodFormOptionalFieldsToRequire,\n type PaymentMethodFormOutputs,\n type PaymentMethodType,\n createPaymentMethodFormSchema,\n} from './usePaymentMethodFormSchema'\nimport { TypeField } from './fields'\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 { PAYMENT_METHODS, SPLIT_BY } from '@/shared/constants'\n\n/**\n * Props for {@link usePaymentMethodForm}.\n *\n * @public\n */\nexport interface UsePaymentMethodFormProps {\n /** Employee whose payment method is being edited. */\n employeeId: string\n /** Override optional fields to be required. Reserved for future schema expansion — `type` is always required and always has a default. */\n optionalFieldsToRequire?: PaymentMethodFormOptionalFieldsToRequire\n /** Pre-fill form values. Server data (the current payment method) is used when no override is supplied. */\n defaultValues?: Partial<PaymentMethodFormData>\n /** When validation runs. Passed through to react-hook-form. Defaults to `'onSubmit'`. */\n validationMode?: UseFormProps['mode']\n /** Auto-focus the first invalid field on submit. Set to `false` when using `composeSubmitHandler`. Defaults to `true`. */\n shouldFocusError?: boolean\n}\n\n/**\n * Field components exposed by {@link usePaymentMethodForm} on `form.Fields`.\n *\n * @public\n */\nexport interface PaymentMethodFormFields {\n /** Bound to `type`. */\n Type: typeof TypeField\n}\n\n/**\n * Ready-state return value of {@link usePaymentMethodForm}.\n *\n * @public\n */\nexport interface UsePaymentMethodFormReady extends BaseFormHookReady<\n FieldsMetadata,\n PaymentMethodFormData,\n PaymentMethodFormFields\n> {\n /** The employee's current payment method, loaded from the API. */\n data: {\n paymentMethod: EmployeePaymentMethod\n }\n /** `isPending` reflects the in-flight update mutation; `mode` is always `'update'`. */\n status: { isPending: boolean; mode: 'update' }\n /** Submit the form. Returns the updated payment method on success or `undefined` on validation/mutation failure. */\n actions: {\n onSubmit: () => Promise<HookSubmitResult<EmployeePaymentMethod> | undefined>\n }\n}\n\n/**\n * Headless React Hook Form hook for updating an employee's payment method.\n *\n * @remarks\n * Switches between Direct Deposit and Check. Always operates in update mode —\n * every employee has a payment method, defaulting to Check. Switching to Check\n * sends a minimal request body; switching to or staying on Direct Deposit\n * preserves the existing splits and version so split allocations are not lost\n * when only the type changes.\n *\n * @param props - See {@link UsePaymentMethodFormProps}.\n * @returns A loading-state result while the current payment method is loading, or a {@link UsePaymentMethodFormReady} once ready.\n * @public\n *\n * @example\n * ```tsx\n * import {\n * usePaymentMethodForm,\n * SDKFormProvider,\n * PAYMENT_METHODS,\n * type PaymentMethodType,\n * } from '@gusto/embedded-react-sdk'\n *\n * function PaymentMethodScreen({ employeeId }: { employeeId: string }) {\n * const paymentMethodForm = usePaymentMethodForm({ employeeId })\n *\n * if (paymentMethodForm.isLoading) return null\n * const { Fields } = paymentMethodForm.form\n *\n * return (\n * <SDKFormProvider formHookResult={paymentMethodForm}>\n * <form\n * onSubmit={e => {\n * e.preventDefault()\n * void paymentMethodForm.actions.onSubmit()\n * }}\n * >\n * <Fields.Type\n * label=\"Select payment method\"\n * getOptionLabel={(value: PaymentMethodType) =>\n * value === PAYMENT_METHODS.directDeposit ? 'Direct Deposit' : 'Check'\n * }\n * />\n * <button type=\"submit\" disabled={paymentMethodForm.status.isPending}>Save</button>\n * </form>\n * </SDKFormProvider>\n * )\n * }\n * ```\n */\nexport function usePaymentMethodForm({\n employeeId,\n optionalFieldsToRequire,\n defaultValues: partnerDefaults,\n validationMode = 'onSubmit',\n shouldFocusError = true,\n}: UsePaymentMethodFormProps): HookLoadingResult | UsePaymentMethodFormReady {\n const paymentMethodQuery = useEmployeePaymentMethodGet({ employeeId })\n const paymentMethod = paymentMethodQuery.data?.employeePaymentMethod\n\n const [schema, metadataConfig] = useMemo(\n () => createPaymentMethodFormSchema({ optionalFieldsToRequire }),\n [optionalFieldsToRequire],\n )\n\n const resolvedDefaults: PaymentMethodFormData = useMemo(\n () => ({\n type: (partnerDefaults?.type ??\n paymentMethod?.type ??\n PAYMENT_METHODS.directDeposit) as PaymentMethodType,\n }),\n [partnerDefaults, paymentMethod],\n )\n\n const formMethods = useForm<PaymentMethodFormData, unknown, PaymentMethodFormOutputs>({\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('PaymentMethodForm')\n\n const errorHandling = composeErrorHandler([paymentMethodQuery], {\n submitError,\n setSubmitError,\n })\n\n const typeOptions = PAYMENT_METHOD_TYPES.map(value => ({ value, label: value }))\n\n const baseMetadata = useDeriveFieldsMetadata(metadataConfig, formMethods.control)\n const fieldsMetadata = {\n type: withOptions<PaymentMethodType>(baseMetadata.type, typeOptions, [...PAYMENT_METHOD_TYPES]),\n }\n\n const onSubmit = async (): Promise<HookSubmitResult<EmployeePaymentMethod> | undefined> => {\n if (!paymentMethod) {\n throw new SDKInternalError('Cannot submit payment method form before data is loaded')\n }\n const currentPaymentMethod = paymentMethod\n let submitResult: HookSubmitResult<EmployeePaymentMethod> | undefined\n\n await new Promise<void>(resolve => {\n void formMethods.handleSubmit(\n async (data: PaymentMethodFormOutputs) => {\n await baseSubmitHandler(data, async payload => {\n const version = currentPaymentMethod.version as string\n const body =\n payload.type === PAYMENT_METHODS.check\n ? { version }\n : {\n ...currentPaymentMethod,\n version,\n splitBy: currentPaymentMethod.splitBy ?? SPLIT_BY.percentage,\n splits: currentPaymentMethod.splits ?? [],\n }\n\n const response = await updateMutation.mutateAsync({\n request: { employeeId, requestBody: { ...body, type: payload.type } },\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 (paymentMethodQuery.isLoading || !paymentMethod) {\n return { isLoading: true as const, errorHandling }\n }\n\n return {\n isLoading: false as const,\n data: { paymentMethod },\n status: { isPending, mode: 'update' as const },\n actions: { onSubmit },\n errorHandling,\n form: {\n Fields: {\n Type: TypeField,\n },\n fieldsMetadata,\n hookFormInternals,\n getFormSubmissionValues: createGetFormSubmissionValues(formMethods, schema),\n },\n }\n}\n\n/**\n * Return type of {@link usePaymentMethodForm} — a discriminated union on `isLoading`.\n *\n * @public\n */\nexport type UsePaymentMethodFormResult = HookLoadingResult | UsePaymentMethodFormReady\n\n/**\n * Per-field metadata exposed on `form.fieldsMetadata` for {@link usePaymentMethodForm}.\n *\n * @public\n */\nexport type PaymentMethodFormFieldsMetadata = UsePaymentMethodFormReady['form']['fieldsMetadata']\n"],"names":["usePaymentMethodForm","employeeId","optionalFieldsToRequire","partnerDefaults","validationMode","shouldFocusError","paymentMethodQuery","useEmployeePaymentMethodGet","paymentMethod","schema","metadataConfig","useMemo","createPaymentMethodFormSchema","resolvedDefaults","PAYMENT_METHODS","formMethods","useForm","zodResolver","updateMutation","useEmployeePaymentMethodUpdateMutation","isPending","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","errorHandling","composeErrorHandler","typeOptions","PAYMENT_METHOD_TYPES","value","baseMetadata","useDeriveFieldsMetadata","fieldsMetadata","withOptions","onSubmit","SDKInternalError","currentPaymentMethod","submitResult","resolve","data","payload","version","body","SPLIT_BY","response","hookFormInternals","useHookFormInternals","TypeField","createGetFormSubmissionValues"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentMethodFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { PAYMENT_METHODS } from '@/shared/constants'\n\n/**\n * Validation error codes emitted by the payment method form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const PaymentMethodFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n} as const\n\n/**\n * Union of validation error code strings emitted by the payment method form\n * schema.\n *\n * @public\n */\nexport type PaymentMethodFormErrorCode =\n (typeof PaymentMethodFormErrorCodes)[keyof typeof PaymentMethodFormErrorCodes]\n\n/**\n * Supported payment method type values: direct deposit and check.\n *\n * @public\n */\nexport const PAYMENT_METHOD_TYPES = [PAYMENT_METHODS.directDeposit, PAYMENT_METHODS.check] as const\n\n/**\n * Union of payment method type values that the form accepts.\n *\n * @public\n */\nexport type PaymentMethodType = (typeof PAYMENT_METHOD_TYPES)[number]\n\nconst fieldValidators = {\n type: z.enum(PAYMENT_METHOD_TYPES),\n}\n\n/**\n * Field names accepted by the payment method form.\n *\n * @public\n */\nexport type PaymentMethodFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the payment method form.\n *\n * @public\n */\nexport type PaymentMethodFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n/**\n * Shape of the validated values produced by the payment method form on submit.\n *\n * @public\n */\nexport type PaymentMethodFormOutputs = PaymentMethodFormData\n\nconst requiredFieldsConfig = {} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n/**\n * Keys of optional payment method fields that can be promoted to required via\n * the hook's `optionalFieldsToRequire` option.\n *\n * @public\n */\nexport type PaymentMethodFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\n/** @internal */\ninterface PaymentMethodFormSchemaOptions {\n optionalFieldsToRequire?: PaymentMethodFormOptionalFieldsToRequire\n}\n\n/** @internal */\nexport function createPaymentMethodFormSchema(options: PaymentMethodFormSchemaOptions = {}) {\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: PaymentMethodFormErrorCodes.REQUIRED,\n mode: 'update',\n optionalFieldsToRequire: options.optionalFieldsToRequire,\n })\n}\n"],"names":["PaymentMethodFormErrorCodes","PAYMENT_METHOD_TYPES","PAYMENT_METHODS","fieldValidators","z","requiredFieldsConfig","createPaymentMethodFormSchema","options","buildFormSchema"],"mappings":";;;AAcO,MAAMA,IAA8B;AAAA,EACzC,UAAU;AACZ,GAgBaC,IAAuB,CAACC,EAAgB,eAAeA,EAAgB,KAAK,GASnFC,IAAkB;AAAA,EACtB,MAAMC,EAAE,KAAKH,CAAoB;AACnC,
|
|
1
|
+
{"version":3,"file":"usePaymentMethodFormSchema.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.ts"],"sourcesContent":["import { z } from 'zod'\nimport {\n buildFormSchema,\n type OptionalFieldsToRequire,\n type RequiredFieldConfig,\n} from '@/partner-hook-utils/form/buildFormSchema'\nimport { PAYMENT_METHODS } from '@/shared/constants'\n\n/**\n * Validation error codes emitted by the payment method form schema. Map these\n * codes to localized copy in `validationMessages` when composing the hook.\n *\n * @public\n */\nexport const PaymentMethodFormErrorCodes = {\n REQUIRED: 'REQUIRED',\n} as const\n\n/**\n * Union of validation error code strings emitted by the payment method form\n * schema.\n *\n * @public\n */\nexport type PaymentMethodFormErrorCode =\n (typeof PaymentMethodFormErrorCodes)[keyof typeof PaymentMethodFormErrorCodes]\n\n/**\n * Supported payment method type values: direct deposit and check.\n *\n * @public\n */\nexport const PAYMENT_METHOD_TYPES = [PAYMENT_METHODS.directDeposit, PAYMENT_METHODS.check] as const\n\n/**\n * Union of payment method type values that the form accepts.\n *\n * @public\n */\nexport type PaymentMethodType = (typeof PAYMENT_METHOD_TYPES)[number]\n\nconst fieldValidators = {\n type: z.enum(PAYMENT_METHOD_TYPES),\n}\n\n/**\n * Field names accepted by the payment method form.\n *\n * @public\n */\nexport type PaymentMethodFormField = keyof typeof fieldValidators\n\n/**\n * Shape of the values managed by the payment method form.\n *\n * @public\n * @interface\n */\nexport type PaymentMethodFormData = {\n [K in keyof typeof fieldValidators]: z.infer<(typeof fieldValidators)[K]>\n}\n/**\n * Shape of the validated values produced by the payment method form on submit.\n *\n * @public\n */\nexport type PaymentMethodFormOutputs = PaymentMethodFormData\n\nconst requiredFieldsConfig = {} satisfies RequiredFieldConfig<typeof fieldValidators>\n\n/**\n * Keys of optional payment method fields that can be promoted to required via\n * the hook's `optionalFieldsToRequire` option.\n *\n * @public\n */\nexport type PaymentMethodFormOptionalFieldsToRequire = OptionalFieldsToRequire<\n typeof requiredFieldsConfig\n>\n\n/** @internal */\ninterface PaymentMethodFormSchemaOptions {\n optionalFieldsToRequire?: PaymentMethodFormOptionalFieldsToRequire\n}\n\n/** @internal */\nexport function createPaymentMethodFormSchema(options: PaymentMethodFormSchemaOptions = {}) {\n return buildFormSchema(fieldValidators, {\n requiredFieldsConfig,\n requiredErrorCode: PaymentMethodFormErrorCodes.REQUIRED,\n mode: 'update',\n optionalFieldsToRequire: options.optionalFieldsToRequire,\n })\n}\n"],"names":["PaymentMethodFormErrorCodes","PAYMENT_METHOD_TYPES","PAYMENT_METHODS","fieldValidators","z","requiredFieldsConfig","createPaymentMethodFormSchema","options","buildFormSchema"],"mappings":";;;AAcO,MAAMA,IAA8B;AAAA,EACzC,UAAU;AACZ,GAgBaC,IAAuB,CAACC,EAAgB,eAAeA,EAAgB,KAAK,GASnFC,IAAkB;AAAA,EACtB,MAAMC,EAAE,KAAKH,CAAoB;AACnC,GAyBMI,IAAuB,CAAA;AAkBtB,SAASC,EAA8BC,IAA0C,IAAI;AAC1F,SAAOC,EAAgBL,GAAiB;AAAA,IACtC,sBAAAE;AAAA,IACA,mBAAmBL,EAA4B;AAAA,IAC/C,MAAM;AAAA,IACN,yBAAyBO,EAAQ;AAAA,EAAA,CAClC;AACH;"}
|
package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitFieldFactory.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react'\nimport { useWatch, type Control } from 'react-hook-form'\nimport type {\n SplitPaymentsFormErrorCodes,\n SplitPaymentsFormData,\n} from './useSplitPaymentsFormSchema'\nimport { NumberInputHookField } from '@/partner-hook-utils/form/fields'\nimport type { NumberInputProps } from '@/components/Common/UI/NumberInput/NumberInputTypes'\nimport type { FormHookResult, ValidationMessages } from '@/partner-hook-utils/types'\nimport { SPLIT_BY } from '@/shared/constants'\n\n/**\n * Validation codes a bound split-amount Field can emit at submit time:\n * `REQUIRED` (every non-remainder split must have a value), `INVALID_AMOUNT`\n * (Amount mode, `value < 0`), `INVALID_PERCENTAGE` (Percentage mode, non-integer\n * or out of `0..100`). Supply translations for all three via `validationMessages`.\n * The sum-to-100 invariant is surfaced separately via `status.hasPercentageImbalance`.\n *\n * @public\n */\nexport type SplitFieldValidation =\n | typeof SplitPaymentsFormErrorCodes.REQUIRED\n | typeof SplitPaymentsFormErrorCodes.INVALID_AMOUNT\n | typeof SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE\n\n/**\n * Props accepted by a bound split-amount Field exposed on\n * `form.Fields.splits[i].Field`. The Field is pre-bound to its split; it\n * formats values as currency in Amount mode and as a percentage in\n * Percentage mode. The remainder split is auto-disabled and treated as not\n * required by the hook; the rest are required.\n *\n * @public\n */\nexport interface SplitFieldProps {\n /** Label shown above the input. */\n label: string\n /** Optional descriptive text rendered below the label. */\n description?: ReactNode\n /** Pass-through of the parent form hook result for cross-field validation context. */\n formHookResult?: FormHookResult\n /** Override the default localized validation message(s). */\n validationMessages?: ValidationMessages<SplitFieldValidation>\n /** Forwarded to the underlying number input. */\n min?: NumberInputProps['min']\n /** Forwarded to the underlying number input. */\n max?: NumberInputProps['max']\n /** Forwarded to the underlying number input. */\n placeholder?: NumberInputProps['placeholder']\n /** Override the rendered number input component. */\n FieldComponent?: ComponentType<NumberInputProps>\n}\n\n/**\n * Single per-account entry surfaced on `form.Fields.splits`. Each entry\n * carries identifying metadata for the underlying bank account plus the bound\n * Field component for its split amount.\n *\n * @public\n */\nexport interface SplitFieldEntry {\n /** Bank account uuid that this split targets. */\n uuid: string\n /** Display name of the bank account, when available. */\n name: string | null\n /** Last-four masking string for the bank account number, when available. */\n hiddenAccountNumber: string | null\n /** Bound Field component for this split's amount input. */\n Field: ComponentType<SplitFieldProps>\n}\n\ninterface BuildSplitFieldsInput {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n}\n\nfunction createBoundSplitField(uuid: string): ComponentType<SplitFieldProps> {\n function BoundSplitField({\n label,\n description,\n formHookResult,\n validationMessages,\n min,\n max,\n placeholder,\n FieldComponent,\n }: SplitFieldProps) {\n const externalControl = formHookResult?.form.hookFormInternals.formMethods.control as\n
|
|
1
|
+
{"version":3,"file":"splitFieldFactory.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.tsx"],"sourcesContent":["import type { ComponentType, ReactNode } from 'react'\nimport { useWatch, type Control } from 'react-hook-form'\nimport type {\n SplitPaymentsFormErrorCodes,\n SplitPaymentsFormData,\n} from './useSplitPaymentsFormSchema'\nimport { NumberInputHookField } from '@/partner-hook-utils/form/fields'\nimport type { NumberInputProps } from '@/components/Common/UI/NumberInput/NumberInputTypes'\nimport type { FormHookResult, ValidationMessages } from '@/partner-hook-utils/types'\nimport { SPLIT_BY } from '@/shared/constants'\n\n/**\n * Validation codes a bound split-amount Field can emit at submit time:\n * `REQUIRED` (every non-remainder split must have a value), `INVALID_AMOUNT`\n * (Amount mode, `value < 0`), `INVALID_PERCENTAGE` (Percentage mode, non-integer\n * or out of `0..100`). Supply translations for all three via `validationMessages`.\n * The sum-to-100 invariant is surfaced separately via `status.hasPercentageImbalance`.\n *\n * @public\n */\nexport type SplitFieldValidation =\n | typeof SplitPaymentsFormErrorCodes.REQUIRED\n | typeof SplitPaymentsFormErrorCodes.INVALID_AMOUNT\n | typeof SplitPaymentsFormErrorCodes.INVALID_PERCENTAGE\n\n/**\n * Props accepted by a bound split-amount Field exposed on\n * `form.Fields.splits[i].Field`. The Field is pre-bound to its split; it\n * formats values as currency in Amount mode and as a percentage in\n * Percentage mode. The remainder split is auto-disabled and treated as not\n * required by the hook; the rest are required.\n *\n * @public\n */\nexport interface SplitFieldProps {\n /** Label shown above the input. */\n label: string\n /** Optional descriptive text rendered below the label. */\n description?: ReactNode\n /** Pass-through of the parent form hook result for cross-field validation context. */\n formHookResult?: FormHookResult\n /** Override the default localized validation message(s). */\n validationMessages?: ValidationMessages<SplitFieldValidation>\n /** Forwarded to the underlying number input. */\n min?: NumberInputProps['min']\n /** Forwarded to the underlying number input. */\n max?: NumberInputProps['max']\n /** Forwarded to the underlying number input. */\n placeholder?: NumberInputProps['placeholder']\n /** Override the rendered number input component. */\n FieldComponent?: ComponentType<NumberInputProps>\n}\n\n/**\n * Single per-account entry surfaced on `form.Fields.splits`. Each entry\n * carries identifying metadata for the underlying bank account plus the bound\n * Field component for its split amount.\n *\n * @public\n */\nexport interface SplitFieldEntry {\n /** Bank account uuid that this split targets. */\n uuid: string\n /** Display name of the bank account, when available. */\n name: string | null\n /** Last-four masking string for the bank account number, when available. */\n hiddenAccountNumber: string | null\n /** Bound Field component for this split's amount input. */\n Field: ComponentType<SplitFieldProps>\n}\n\ninterface BuildSplitFieldsInput {\n uuid: string\n name: string | null\n hiddenAccountNumber: string | null\n}\n\nfunction createBoundSplitField(uuid: string): ComponentType<SplitFieldProps> {\n function BoundSplitField({\n label,\n description,\n formHookResult,\n validationMessages,\n min,\n max,\n placeholder,\n FieldComponent,\n }: SplitFieldProps) {\n const externalControl = formHookResult?.form.hookFormInternals.formMethods.control as\n Control<SplitPaymentsFormData> | undefined\n const splitBy = useWatch({ control: externalControl, name: 'splitBy' })\n const format: NumberInputProps['format'] = splitBy === SPLIT_BY.amount ? 'currency' : 'percent'\n\n return (\n <NumberInputHookField<SplitFieldValidation>\n name={`splitAmount.${uuid}`}\n formHookResult={formHookResult}\n label={label}\n description={description}\n validationMessages={validationMessages}\n format={format}\n min={min}\n max={max}\n placeholder={placeholder}\n FieldComponent={FieldComponent}\n />\n )\n }\n BoundSplitField.displayName = `SplitField(${uuid})`\n return BoundSplitField\n}\n\n/**\n * Build the per-split bound Field components. The caller is responsible for\n * memoizing on the stable set of split uuids so Field identity stays stable\n * across mode toggles and reorders — those changes are observed inside each\n * Field rather than baked into the closure.\n *\n * @internal\n */\nexport function buildSplitFieldEntries(splits: BuildSplitFieldsInput[]): SplitFieldEntry[] {\n return splits.map(split => ({\n uuid: split.uuid,\n name: split.name,\n hiddenAccountNumber: split.hiddenAccountNumber,\n Field: createBoundSplitField(split.uuid),\n }))\n}\n"],"names":["createBoundSplitField","uuid","BoundSplitField","label","description","formHookResult","validationMessages","min","max","placeholder","FieldComponent","externalControl","format","useWatch","SPLIT_BY","jsx","NumberInputHookField","buildSplitFieldEntries","splits","split"],"mappings":";;;;AA6EA,SAASA,EAAsBC,GAA8C;AAC3E,WAASC,EAAgB;AAAA,IACvB,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,KAAAC;AAAA,IACA,KAAAC;AAAA,IACA,aAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,GACkB;AAClB,UAAMC,IAAkBN,GAAgB,KAAK,kBAAkB,YAAY,SAGrEO,IADUC,EAAS,EAAE,SAASF,GAAiB,MAAM,WAAW,MACfG,EAAS,SAAS,aAAa;AAEtF,WACE,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,MAAM,eAAef,CAAI;AAAA,QACzB,gBAAAI;AAAA,QACA,OAAAF;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAAM;AAAA,QACA,KAAAL;AAAA,QACA,KAAAC;AAAA,QACA,aAAAC;AAAA,QACA,gBAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACA,SAAAR,EAAgB,cAAc,cAAcD,CAAI,KACzCC;AACT;AAUO,SAASe,EAAuBC,GAAoD;AACzF,SAAOA,EAAO,IAAI,CAAAC,OAAU;AAAA,IAC1B,MAAMA,EAAM;AAAA,IACZ,MAAMA,EAAM;AAAA,IACZ,qBAAqBA,EAAM;AAAA,IAC3B,OAAOnB,EAAsBmB,EAAM,IAAI;AAAA,EAAA,EACvC;AACJ;"}
|
package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export interface UseSplitPaymentsFormProps {
|
|
|
50
50
|
* @public
|
|
51
51
|
*/
|
|
52
52
|
export interface SplitPaymentsFormFields {
|
|
53
|
-
/**
|
|
53
|
+
/** Radio group bound to `splitBy`; selects Percentage or Amount split mode. */
|
|
54
54
|
SplitBy: ComponentType<SplitByFieldProps>;
|
|
55
55
|
/** One entry per bank account, each carrying a pre-bound `Field` component for the per-split amount. */
|
|
56
56
|
splits: SplitFieldEntry[];
|
|
@@ -167,7 +167,7 @@ export interface UseSplitPaymentsFormReady extends BaseFormHookReady<FieldsMetad
|
|
|
167
167
|
* }
|
|
168
168
|
* ```
|
|
169
169
|
*/
|
|
170
|
-
export declare function useSplitPaymentsForm({ employeeId, optionalFieldsToRequire, validationMode, shouldFocusError, }: UseSplitPaymentsFormProps):
|
|
170
|
+
export declare function useSplitPaymentsForm({ employeeId, optionalFieldsToRequire, validationMode, shouldFocusError, }: UseSplitPaymentsFormProps): UseSplitPaymentsFormResult;
|
|
171
171
|
/**
|
|
172
172
|
* Return type of {@link useSplitPaymentsForm} — a discriminated union on `isLoading`.
|
|
173
173
|
*
|