@gusto/embedded-react-sdk 0.52.2 → 0.53.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 +36 -0
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.d.ts +1 -2
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +42 -43
- package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/components/Common/Fields/PercentageField/PercentageField.js +44 -42
- package/dist/components/Common/Fields/PercentageField/PercentageField.js.map +1 -1
- package/dist/components/Common/UI/Box/Box.js +6 -6
- package/dist/components/Common/UI/Box/Box.js.map +1 -1
- package/dist/components/Common/UI/Box/Box.module.scss.js +8 -8
- package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +16 -14
- package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js.map +1 -1
- package/dist/components/Common/UI/Dialog/Dialog.js +29 -28
- package/dist/components/Common/UI/Dialog/Dialog.js.map +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.d.ts +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.js +9 -8
- package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -1
- package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +8 -6
- package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -1
- package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +5 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -10
- package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -9
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +18 -21
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +11 -12
- package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.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/Head.js +8 -9
- package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -7
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -8
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +20 -21
- package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.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 +10 -12
- 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/BankAccountForm/Actions.js +2 -3
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -11
- package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Head.js +2 -3
- package/dist/components/Company/BankAccount/BankAccountForm/Head.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/Actions.js +6 -7
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +7 -8
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +4 -6
- package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
- package/dist/components/Company/BankAccount/stateMachine.d.ts +0 -1
- package/dist/components/Company/BankAccount/stateMachine.js +33 -35
- package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -6
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +11 -14
- package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +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/SignatureForm/SignatureForm.js +7 -8
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/DocumentSigner/stateMachine.d.ts +0 -1
- package/dist/components/Company/DocumentSigner/stateMachine.js +27 -29
- package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +6 -7
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/FederalTaxes.js +7 -10
- package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Form.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +5 -6
- package/dist/components/Company/Industry/Actions.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/Edit.js +10 -12
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Industry/IndustrySelect.js +6 -8
- package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +6 -7
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Form.js +4 -6
- package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/LocationForm.js +11 -14
- package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
- 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/LocationsList/Actions.js +2 -3
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/LocationsList.js +9 -12
- 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/OnboardingOverview/Completed.js +5 -6
- package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js +9 -10
- package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -5
- 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/PayScheduleForm.js +47 -51
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +0 -1
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +26 -28
- package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/StateTaxes.d.ts +2 -1
- package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js +29 -16
- package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +2 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +21 -32
- package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +67 -75
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- 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/StateTaxesList/Actions.js +6 -7
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js +62 -47
- package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +1 -0
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +26 -23
- package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -0
- 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/TaxRateManagement/AddRateAction.d.ts +12 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js +36 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.d.ts +10 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js +110 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.d.ts +18 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +55 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.d.ts +47 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js +108 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.d.ts +25 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +22 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/index.d.ts +1 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.d.ts +29 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js +34 -0
- package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/RequirementFields.d.ts +17 -0
- package/dist/components/Company/StateTaxes/shared/RequirementFields.js +24 -0
- package/dist/components/Company/StateTaxes/shared/RequirementFields.js.map +1 -0
- package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.d.ts +1 -1
- package/dist/components/Company/StateTaxes/shared/applicableIf.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/applicableIf.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.d.ts +19 -0
- package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js +38 -0
- package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/requirementValue.d.ts +2 -0
- package/dist/components/Company/StateTaxes/shared/requirementValue.js +7 -0
- package/dist/components/Company/StateTaxes/shared/requirementValue.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.d.ts +23 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.js +13 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.js.map +1 -0
- package/dist/components/Company/StateTaxes/shared/rhfKey.test.d.ts +1 -0
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -0
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +33 -11
- package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
- package/dist/components/Company/exports/companyOnboarding.d.ts +1 -0
- package/dist/components/Company/exports/companyOnboarding.js +12 -10
- package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
- package/dist/components/Contractor/Address/Address.js +11 -12
- package/dist/components/Contractor/Address/Address.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.d.ts +39 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +90 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +22 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +247 -0
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -0
- package/dist/components/Contractor/ContractorList/{index.d.ts → onboarding/ContractorList.d.ts} +3 -3
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +51 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +16 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +113 -0
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -0
- package/dist/components/Contractor/ContractorList/shared/index.d.ts +1 -0
- package/dist/components/Contractor/ContractorList/shared/useContractorList.d.ts +87 -0
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js +110 -0
- package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -0
- package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.d.ts +0 -1
- package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js +18 -20
- package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js.map +1 -1
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +2 -3
- package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +1 -1
- package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js +8 -8
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +1 -1
- package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +9 -10
- package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +2 -3
- package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +162 -251
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.d.ts +2 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js +2 -2
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +45 -44
- package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +2 -3
- package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +2 -3
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.d.ts +32 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js +107 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js.map +1 -0
- package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.test.d.ts +1 -0
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +6 -7
- package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +18 -19
- package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
- package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +16 -16
- package/dist/components/Contractor/Submit/Submit.js +2 -3
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/exports/contractorManagement.d.ts +1 -0
- package/dist/components/Contractor/exports/contractorManagement.js +12 -10
- package/dist/components/Contractor/exports/contractorManagement.js.map +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.d.ts +1 -1
- package/dist/components/Contractor/exports/contractorOnboarding.js +1 -1
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +32 -33
- package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +2 -3
- package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +4 -4
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +6 -6
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +6 -7
- package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js +14 -15
- package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +8 -8
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +4 -4
- package/dist/components/Employee/Documents/management/DocumentManager.js +6 -7
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +6 -7
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +4 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +10 -13
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js +5 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js +8 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js.map +1 -0
- 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/EmploymentEligibility/EmploymentEligibility.js +22 -21
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +6 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +3 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +6 -7
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +11 -12
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js +15 -16
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +6 -7
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +11 -12
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +4 -4
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js +7 -8
- package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
- package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +4 -4
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +29 -23
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +26 -20
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +133 -99
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js +8 -0
- package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js.map +1 -0
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +19 -20
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js +92 -86
- package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useBankForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +65 -64
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +7 -8
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +7 -7
- package/dist/components/Employee/Profile/onboarding/AdminProfile.js +6 -6
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +6 -6
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +5 -5
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js +11 -12
- package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +9 -10
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +6 -7
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +44 -45
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +23 -22
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +27 -27
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +9 -10
- package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +2 -3
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js +16 -17
- package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
- package/dist/components/Flow/Flow.js +1 -1
- package/dist/components/Flow/FlowHeader.js +3 -4
- package/dist/components/Flow/FlowHeader.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +8 -9
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +7 -8
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +37 -37
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +8 -9
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +7 -8
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +10 -12
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +0 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +7 -8
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +3 -3
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +54 -50
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +80 -69
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +20 -18
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +138 -136
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +10 -12
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +4 -4
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +2 -3
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -3
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +1 -2
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +2 -3
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.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/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -3
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +4 -4
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +4 -4
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +34 -36
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +4 -4
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +24 -25
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +6 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +29 -28
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/LocaleProvider/useLocale.d.ts +1 -9
- package/dist/contexts/LocaleProvider/useLocale.js +5 -15
- package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
- package/dist/contexts/NonceProvider/index.d.ts +1 -0
- package/dist/contexts/NonceProvider/useNonce.d.ts +37 -0
- package/dist/contexts/NonceProvider/useNonce.js +7 -0
- package/dist/contexts/NonceProvider/useNonce.js.map +1 -0
- package/dist/contexts/ThemeProvider/ThemeProvider.js +25 -24
- package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/contexts/index.d.ts +1 -0
- package/dist/hooks/useDateRangeFilter/useDateRangeFilter.d.ts +12 -7
- package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js +25 -21
- package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js.map +1 -1
- package/dist/i18n/I18n.js +1 -0
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.StateTaxes.json.js +6 -4
- package/dist/i18n/en/Company.StateTaxes.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ContractorList.json.js +14 -12
- package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js +60 -0
- package/dist/i18n/en/Contractor.ManagementContractorList.json.js.map +1 -0
- package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js +18 -16
- package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js.map +1 -1
- package/dist/i18n/en/Employee.Management.PaymentMethodSplitForm.json.js +2 -2
- package/dist/i18n/en/Employee.PaymentMethod.json.js +74 -72
- package/dist/i18n/en/Employee.PaymentMethod.json.js.map +1 -1
- package/dist/i18n/en/Employee.SplitPaymentsFormBody.json.js +2 -2
- package/dist/i18n/en/Payroll.PayrollHistory.json.js +8 -8
- package/dist/i18n/en/Payroll.PayrollList.json.js +23 -23
- package/dist/i18n/types.d.ts +193 -11
- package/dist/index.js +15 -13
- package/dist/index.js.map +1 -1
- package/dist/models/external.d.ts +4 -0
- package/dist/partner-hook-utils/form/SDKFormProvider.js +39 -24
- package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +12 -15
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +16 -19
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -16
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -15
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +18 -21
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +9 -12
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/preprocessors.d.ts +2 -2
- package/dist/partner-hook-utils/form/preprocessors.js +8 -7
- package/dist/partner-hook-utils/form/preprocessors.js.map +1 -1
- package/dist/partner-hook-utils/form/preprocessors.test.d.ts +1 -0
- package/dist/shared/constants.d.ts +12 -0
- package/dist/shared/constants.js +23 -17
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +61 -0
- package/package.json +16 -14
- package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +0 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +0 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +0 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +0 -1
- package/dist/components/Contractor/ContractorList/index.js +0 -141
- package/dist/components/Contractor/ContractorList/index.js.map +0 -1
- package/dist/components/Contractor/ContractorList/useContractorList.d.ts +0 -18
- package/dist/components/Contractor/ContractorList/useContractorList.js +0 -15
- package/dist/components/Contractor/ContractorList/useContractorList.js.map +0 -1
- /package/dist/components/Company/StateTaxes/{StateTaxesForm/applicableIf.test.d.ts → TaxRateManagement/toHistoryRows.test.d.ts} +0 -0
- /package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/ListView.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListReady,\n} from '../shared/usePaymentMethodList'\nimport {\n usePaymentMethodForm,\n type PaymentMethodType,\n type UsePaymentMethodFormReady,\n} from '../shared/usePaymentMethodForm'\nimport { useDeleteBankAccount } from '../shared/useDeleteBankAccount'\nimport { DeleteBankAccountDialog } from '../shared/DeleteBankAccountDialog'\nimport { ActionsLayout, DataView, useDataView } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { centsToDollars } from '@/helpers/currencyHelpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { componentEvents, PAYMENT_METHODS, SPLIT_BY, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\ninterface ListViewProps {\n employeeId: string\n isAdmin: boolean\n onEvent: OnEventType<EventType, unknown>\n}\n\n/** @internal */\nexport function ListView({ employeeId, isAdmin, onEvent }: ListViewProps) {\n const paymentMethodList = usePaymentMethodList({ employeeId })\n const paymentMethodForm = usePaymentMethodForm({ employeeId })\n\n const errorHandling = composeErrorHandler([paymentMethodList, paymentMethodForm])\n\n if (paymentMethodList.isLoading || paymentMethodForm.isLoading) {\n return <BaseLayout isLoading error={errorHandling.errors} />\n }\n\n return (\n <ListViewReady\n employeeId={employeeId}\n isAdmin={isAdmin}\n onEvent={onEvent}\n paymentMethodList={paymentMethodList}\n paymentMethodForm={paymentMethodForm}\n errorHandling={errorHandling}\n />\n )\n}\n\ninterface ListViewReadyProps extends ListViewProps {\n paymentMethodList: UsePaymentMethodListReady\n paymentMethodForm: UsePaymentMethodFormReady\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction ListViewReady({\n isAdmin,\n onEvent,\n paymentMethodList,\n paymentMethodForm,\n errorHandling,\n}: ListViewReadyProps) {\n const { paymentMethod, bankAccounts } = paymentMethodList.data\n const { deletePendingBankAccountUuid } = paymentMethodList.status\n const { t } = useTranslation('Employee.PaymentMethod')\n const Components = useComponentContext()\n const format = useNumberFormatter(paymentMethod.splitBy === 'Amount' ? 'currency' : 'percent')\n\n const { Fields } = paymentMethodForm.form\n const watchedType = useWatch({\n control: paymentMethodForm.form.hookFormInternals.formMethods.control,\n name: 'type',\n })\n\n const {\n pendingDeleteAccount,\n setPendingDeleteAccount,\n deletedAccountNumber,\n setDeletedAccountNumber,\n handleConfirmDelete,\n } = useDeleteBankAccount(async uuid => {\n const result = await paymentMethodList.actions.onDelete(uuid)\n if (result) {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_DELETED, result.data)\n }\n })\n\n const { ...dataViewProps } = useDataView({\n data: bankAccounts,\n columns: [\n { key: 'name', title: t('nicknameColumn') },\n { key: 'routingNumber', title: t('routingNumberColumn') },\n { key: 'accountType', title: t('accountTypeColumn') },\n {\n key: 'splitAmount',\n title: t('allocationColumn'),\n render: bankAccount => {\n const splitAmount =\n paymentMethod.splits?.find(split => split.uuid === bankAccount.uuid)?.splitAmount ?? 0\n const displayValue =\n paymentMethod.splitBy === SPLIT_BY.amount\n ? (centsToDollars(splitAmount) ?? 0)\n : splitAmount\n return format(displayValue)\n },\n },\n ],\n itemMenu: bankAccount => (\n <HamburgerMenu\n items={[\n {\n label: t('deleteBankAccountCta'),\n onClick: () => {\n setPendingDeleteAccount({\n uuid: bankAccount.uuid,\n hiddenAccountNumber: bankAccount.hiddenAccountNumber,\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n triggerLabel={t('hamburgerTitle')}\n />\n ),\n })\n\n const TypeFieldComponent = (props: RadioGroupProps) => (\n <Components.RadioGroup\n {...props}\n options={props.options.map(option => ({\n ...option,\n description:\n option.value === PAYMENT_METHODS.directDeposit\n ? isAdmin\n ? t('directDepositDescription')\n : t('directDepositDescriptionSelf')\n : isAdmin\n ? t('checkDescription')\n : t('checkDescriptionSelf'),\n }))}\n />\n )\n\n const handleSubmit = async () => {\n const result = await paymentMethodForm.actions.onSubmit()\n if (result) {\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE)\n }\n }\n\n return (\n <>\n <BaseLayout error={errorHandling.errors}>\n <SDKFormProvider formHookResult={paymentMethodForm}>\n <Form onSubmit={handleSubmit}>\n {deletedAccountNumber !== null && (\n <Components.Alert\n status=\"success\"\n label={t('deleteBankAccountSuccessAlert', { account: deletedAccountNumber })}\n onDismiss={() => {\n setDeletedAccountNumber(null)\n }}\n disableScrollIntoView\n />\n )}\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Fields.Type\n label={t('paymentFieldsetLegend')}\n getOptionLabel={(value: PaymentMethodType) =>\n value === PAYMENT_METHODS.directDeposit ? t('directDepositLabel') : t('checkLabel')\n }\n FieldComponent={TypeFieldComponent}\n />\n {bankAccounts.length > 0 && (\n <DataView label={t('bankAccountsListLabel')} {...dataViewProps} />\n )}\n <ActionsLayout>\n {bankAccounts.length > 1 && (\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SPLIT_PAYMENT)\n }}\n >\n {t('splitCta')}\n </Components.Button>\n )}\n {watchedType === PAYMENT_METHODS.directDeposit && (\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATE)\n }}\n >\n {bankAccounts.length > 0 ? t('addAnotherCta') : t('addBankAccountCta')}\n </Components.Button>\n )}\n <Components.Button type=\"submit\" isLoading={paymentMethodForm.status.isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n <DeleteBankAccountDialog\n pendingDeleteAccount={pendingDeleteAccount}\n isPrimaryActionLoading={deletePendingBankAccountUuid === pendingDeleteAccount?.uuid}\n onClose={() => {\n setPendingDeleteAccount(null)\n }}\n onConfirm={() => {\n void handleConfirmDelete()\n }}\n title={t('deleteBankAccountDialog.title')}\n description={t('deleteBankAccountDialog.description', {\n account: pendingDeleteAccount?.hiddenAccountNumber ?? '',\n })}\n confirmLabel={t('deleteBankAccountDialog.confirmCta')}\n cancelLabel={t('deleteBankAccountDialog.cancelCta')}\n />\n </>\n )\n}\n"],"names":["ListView","employeeId","isAdmin","onEvent","paymentMethodList","usePaymentMethodList","paymentMethodForm","usePaymentMethodForm","errorHandling","composeErrorHandler","BaseLayout","jsx","ListViewReady","paymentMethod","bankAccounts","deletePendingBankAccountUuid","useTranslation","Components","useComponentContext","format","useNumberFormatter","Fields","watchedType","useWatch","pendingDeleteAccount","setPendingDeleteAccount","deletedAccountNumber","setDeletedAccountNumber","handleConfirmDelete","useDeleteBankAccount","uuid","result","componentEvents","dataViewProps","useDataView","bankAccount","splitAmount","split","displayValue","SPLIT_BY","centsToDollars","HamburgerMenu","TrashCanSvg","TypeFieldComponent","props","option","PAYMENT_METHODS","handleSubmit","jsxs","Fragment","SDKFormProvider","Form","value","DataView","ActionsLayout","DeleteBankAccountDialog"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkCO,SAASA,GAAS,EAAE,YAAAC,GAAY,SAAAC,GAAS,SAAAC,KAA0B;AACxE,QAAMC,IAAoBC,EAAqB,EAAE,YAAAJ,GAAY,GACvDK,IAAoBC,EAAqB,EAAE,YAAAN,GAAY,GAEvDO,IAAgBC,EAAoB,CAACL,GAAmBE,CAAiB,CAAC;AAEhF,SAAIF,EAAkB,aAAaE,EAAkB,8BAC3CI,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAc,QAAQ,IAI1D,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAAX;AAAA,MACA,SAAAC;AAAA,MACA,SAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAE;AAAA,MACA,eAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;AAQA,SAASI,EAAc;AAAA,EACrB,SAAAV;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,mBAAAE;AAAA,EACA,eAAAE;AACF,GAAuB;AACrB,QAAM,EAAE,eAAAK,GAAe,cAAAC,EAAA,IAAiBV,EAAkB,MACpD,EAAE,8BAAAW,MAAiCX,EAAkB,QACrD,EAAE,EAAA,IAAMY,EAAe,wBAAwB,GAC/CC,IAAaC,EAAA,GACbC,IAASC,EAAmBP,EAAc,YAAY,WAAW,aAAa,SAAS,GAEvF,EAAE,QAAAQ,MAAWf,EAAkB,MAC/BgB,IAAcC,EAAS;AAAA,IAC3B,SAASjB,EAAkB,KAAK,kBAAkB,YAAY;AAAA,IAC9D,MAAM;AAAA,EAAA,CACP,GAEK;AAAA,IACJ,sBAAAkB;AAAA,IACA,yBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,IACEC,EAAqB,OAAMC,MAAQ;AACrC,UAAMC,IAAS,MAAM3B,EAAkB,QAAQ,SAAS0B,CAAI;AAC5D,IAAIC,KACF5B,EAAQ6B,EAAgB,+BAA+BD,EAAO,IAAI;AAAA,EAEtE,CAAC,GAEK,EAAE,GAAGE,EAAA,IAAkBC,EAAY;AAAA,IACvC,MAAMpB;AAAA,IACN,SAAS;AAAA,MACP,EAAE,KAAK,QAAQ,OAAO,EAAE,gBAAgB,EAAA;AAAA,MACxC,EAAE,KAAK,iBAAiB,OAAO,EAAE,qBAAqB,EAAA;AAAA,MACtD,EAAE,KAAK,eAAe,OAAO,EAAE,mBAAmB,EAAA;AAAA,MAClD;AAAA,QACE,KAAK;AAAA,QACL,OAAO,EAAE,kBAAkB;AAAA,QAC3B,QAAQ,CAAAqB,MAAe;AACrB,gBAAMC,IACJvB,EAAc,QAAQ,KAAK,CAAAwB,MAASA,EAAM,SAASF,EAAY,IAAI,GAAG,eAAe,GACjFG,IACJzB,EAAc,YAAY0B,EAAS,SAC9BC,EAAeJ,CAAW,KAAK,IAChCA;AACN,iBAAOjB,EAAOmB,CAAY;AAAA,QAC5B;AAAA,MAAA;AAAA,IACF;AAAA,IAEF,UAAU,CAAAH,MACR,gBAAAxB;AAAA,MAAC8B;AAAA,MAAA;AAAA,QACC,OAAO;AAAA,UACL;AAAA,YACE,OAAO,EAAE,sBAAsB;AAAA,YAC/B,SAAS,MAAM;AACb,cAAAhB,EAAwB;AAAA,gBACtB,MAAMU,EAAY;AAAA,gBAClB,qBAAqBA,EAAY;AAAA,cAAA,CAClC;AAAA,YACH;AAAA,YACA,MAAM,gBAAAxB,EAAC+B,GAAA,EAAY,eAAW,GAAA,CAAC;AAAA,UAAA;AAAA,QACjC;AAAA,QAEF,cAAc,EAAE,gBAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAClC,CAEH,GAEKC,IAAqB,CAACC,MAC1B,gBAAAjC;AAAA,IAACM,EAAW;AAAA,IAAX;AAAA,MACE,GAAG2B;AAAA,MACJ,SAASA,EAAM,QAAQ,IAAI,CAAAC,OAAW;AAAA,QACpC,GAAGA;AAAA,QACH,aACEA,EAAO,UAAUC,EAAgB,gBAE3B,EADF5C,IACI,6BACA,8BAD0B,IAG5B,EADFA,IACI,qBACA,sBADkB;AAAA,MACI,EAChC;AAAA,IAAA;AAAA,EAAA,GAIA6C,IAAe,YAAY;AAC/B,UAAMhB,IAAS,MAAMzB,EAAkB,QAAQ,SAAA;AAC/C,IAAIyB,MACF5B,EAAQ6B,EAAgB,iCAAiCD,EAAO,IAAI,GACpE5B,EAAQ6B,EAAgB,4BAA4B;AAAA,EAExD;AAEA,SACE,gBAAAgB,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAtC,EAACD,GAAA,EAAW,OAAOF,EAAc,QAC/B,UAAA,gBAAAG,EAACuC,GAAA,EAAgB,gBAAgB5C,GAC/B,UAAA,gBAAA0C,EAACG,GAAA,EAAK,UAAUJ,GACb,UAAA;AAAA,MAAArB,MAAyB,QACxB,gBAAAf;AAAA,QAACM,EAAW;AAAA,QAAX;AAAA,UACC,QAAO;AAAA,UACP,OAAO,EAAE,iCAAiC,EAAE,SAASS,GAAsB;AAAA,UAC3E,WAAW,MAAM;AACf,YAAAC,EAAwB,IAAI;AAAA,UAC9B;AAAA,UACA,uBAAqB;AAAA,QAAA;AAAA,MAAA;AAAA,MAGzB,gBAAAhB,EAACM,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAA,EAAE,OAAO,GAAE;AAAA,MACxC,gBAAAN;AAAA,QAACU,EAAO;AAAA,QAAP;AAAA,UACC,OAAO,EAAE,uBAAuB;AAAA,UAChC,gBAAgB,CAAC+B,MACfA,MAAUN,EAAgB,gBAAgB,EAAE,oBAAoB,IAAI,EAAE,YAAY;AAAA,UAEpF,gBAAgBH;AAAA,QAAA;AAAA,MAAA;AAAA,MAEjB7B,EAAa,SAAS,KACrB,gBAAAH,EAAC0C,GAAA,EAAS,OAAO,EAAE,uBAAuB,GAAI,GAAGpB,EAAA,CAAe;AAAA,wBAEjEqB,GAAA,EACE,UAAA;AAAA,QAAAxC,EAAa,SAAS,KACrB,gBAAAH;AAAA,UAACM,EAAW;AAAA,UAAX;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,MAAM;AACb,cAAAd,EAAQ6B,EAAgB,sBAAsB;AAAA,YAChD;AAAA,YAEC,YAAE,UAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAGhBV,MAAgBwB,EAAgB,iBAC/B,gBAAAnC;AAAA,UAACM,EAAW;AAAA,UAAX;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,MAAM;AACb,cAAAd,EAAQ6B,EAAgB,4BAA4B;AAAA,YACtD;AAAA,YAEC,YAAa,SAAS,IAAI,EAAE,eAAe,IAAI,EAAE,mBAAmB;AAAA,UAAA;AAAA,QAAA;AAAA,QAGzE,gBAAArB,EAACM,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWX,EAAkB,OAAO,WAClE,UAAA,EAAE,WAAW,EAAA,CAChB;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,EAAA,CACF,GACF,GACF;AAAA,IACA,gBAAAK;AAAA,MAAC4C;AAAA,MAAA;AAAA,QACC,sBAAA/B;AAAA,QACA,wBAAwBT,MAAiCS,GAAsB;AAAA,QAC/E,SAAS,MAAM;AACb,UAAAC,EAAwB,IAAI;AAAA,QAC9B;AAAA,QACA,WAAW,MAAM;AACf,UAAKG,EAAA;AAAA,QACP;AAAA,QACA,OAAO,EAAE,+BAA+B;AAAA,QACxC,aAAa,EAAE,uCAAuC;AAAA,UACpD,SAASJ,GAAsB,uBAAuB;AAAA,QAAA,CACvD;AAAA,QACD,cAAc,EAAE,oCAAoC;AAAA,QACpD,aAAa,EAAE,mCAAmC;AAAA,MAAA;AAAA,IAAA;AAAA,EACpD,GACF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"ListView.js","sources":["../../../../../src/components/Employee/PaymentMethod/onboarding/ListView.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useWatch } from 'react-hook-form'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListReady,\n} from '../shared/usePaymentMethodList'\nimport {\n usePaymentMethodForm,\n type PaymentMethodType,\n type UsePaymentMethodFormReady,\n} from '../shared/usePaymentMethodForm'\nimport { useDeleteBankAccount } from '../shared/useDeleteBankAccount'\nimport { DeleteBankAccountDialog } from '../shared/DeleteBankAccountDialog'\nimport { BankFormBody } from '../shared/BankFormBody'\nimport { useOnboardingBankFormDictionary } from './useFormDictionary'\nimport styles from './ListView.module.scss'\nimport { ActionsLayout, DataView, useDataView } from '@/components/Common'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { centsToDollars } from '@/helpers/currencyHelpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { componentEvents, PAYMENT_METHODS, SPLIT_BY, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { RadioGroupProps } from '@/components/Common/UI/RadioGroup/RadioGroupTypes'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport { Flex } from '@/components/Common/Flex/Flex'\n\ninterface ListViewProps {\n employeeId: string\n isAdmin: boolean\n onEvent: OnEventType<EventType, unknown>\n}\n\n/** @internal */\nexport function ListView({ employeeId, isAdmin, onEvent }: ListViewProps) {\n const paymentMethodList = usePaymentMethodList({ employeeId })\n const paymentMethodForm = usePaymentMethodForm({ employeeId })\n\n const errorHandling = composeErrorHandler([paymentMethodList, paymentMethodForm])\n\n if (paymentMethodList.isLoading || paymentMethodForm.isLoading) {\n return <BaseLayout isLoading error={errorHandling.errors} />\n }\n\n return (\n <ListViewReady\n employeeId={employeeId}\n isAdmin={isAdmin}\n onEvent={onEvent}\n paymentMethodList={paymentMethodList}\n paymentMethodForm={paymentMethodForm}\n errorHandling={errorHandling}\n />\n )\n}\n\ninterface ListViewReadyProps extends ListViewProps {\n paymentMethodList: UsePaymentMethodListReady\n paymentMethodForm: UsePaymentMethodFormReady\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction ListViewReady({\n employeeId,\n isAdmin,\n onEvent,\n paymentMethodList,\n paymentMethodForm,\n errorHandling,\n}: ListViewReadyProps) {\n const { paymentMethod, bankAccounts } = paymentMethodList.data\n const { deletePendingBankAccountUuid } = paymentMethodList.status\n const { t } = useTranslation('Employee.PaymentMethod')\n const Components = useComponentContext()\n const format = useNumberFormatter(paymentMethod.splitBy === 'Amount' ? 'currency' : 'percent')\n const dictionary = useOnboardingBankFormDictionary()\n\n const { Fields } = paymentMethodForm.form\n const watchedType = useWatch({\n control: paymentMethodForm.form.hookFormInternals.formMethods.control,\n name: 'type',\n })\n\n const {\n pendingDeleteAccount,\n setPendingDeleteAccount,\n deletedAccountNumber,\n setDeletedAccountNumber,\n handleConfirmDelete,\n } = useDeleteBankAccount(async uuid => {\n const result = await paymentMethodList.actions.onDelete(uuid)\n if (result) {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_DELETED, result.data)\n }\n })\n\n const { ...dataViewProps } = useDataView({\n data: bankAccounts,\n columns: [\n { key: 'name', title: t('nicknameColumn') },\n { key: 'routingNumber', title: t('routingNumberColumn') },\n { key: 'accountType', title: t('accountTypeColumn') },\n {\n key: 'splitAmount',\n title: t('allocationColumn'),\n render: bankAccount => {\n const splitAmount =\n paymentMethod.splits?.find(split => split.uuid === bankAccount.uuid)?.splitAmount ?? 0\n const displayValue =\n paymentMethod.splitBy === SPLIT_BY.amount\n ? (centsToDollars(splitAmount) ?? 0)\n : splitAmount\n return format(displayValue)\n },\n },\n ],\n itemMenu: bankAccount => (\n <HamburgerMenu\n items={[\n {\n label: t('deleteBankAccountCta'),\n onClick: () => {\n setPendingDeleteAccount({\n uuid: bankAccount.uuid,\n hiddenAccountNumber: bankAccount.hiddenAccountNumber,\n })\n },\n icon: <TrashCanSvg aria-hidden />,\n },\n ]}\n triggerLabel={t('hamburgerTitle')}\n />\n ),\n })\n\n const TypeFieldComponent = (props: RadioGroupProps) => (\n <Components.RadioGroup\n {...props}\n options={props.options.map(option => ({\n ...option,\n description:\n option.value === PAYMENT_METHODS.directDeposit\n ? isAdmin\n ? t('directDepositDescription')\n : t('directDepositDescriptionSelf')\n : isAdmin\n ? t('checkDescription')\n : t('checkDescriptionSelf'),\n }))}\n />\n )\n\n const handleContinue = async () => {\n const result = await paymentMethodForm.actions.onSubmit()\n if (result) {\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_PAYMENT_METHOD_DONE)\n }\n }\n\n const showInlineBankForm =\n watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length === 0\n const showContinue = watchedType === PAYMENT_METHODS.check || bankAccounts.length > 0\n\n const footer =\n watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length > 0 ? (\n <ActionsLayout>\n {bankAccounts.length > 1 && (\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_SPLIT_PAYMENT)\n }}\n >\n {t('splitCta')}\n </Components.Button>\n )}\n <Components.Button\n variant=\"secondary\"\n type=\"button\"\n onClick={() => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATE)\n }}\n >\n {t('addAnotherCta')}\n </Components.Button>\n </ActionsLayout>\n ) : undefined\n\n return (\n <>\n <BaseLayout error={errorHandling.errors}>\n <SDKFormProvider formHookResult={paymentMethodForm}>\n {deletedAccountNumber !== null && (\n <Components.Alert\n status=\"success\"\n label={t('deleteBankAccountSuccessAlert', { account: deletedAccountNumber })}\n onDismiss={() => {\n setDeletedAccountNumber(null)\n }}\n disableScrollIntoView\n />\n )}\n <Flex flexDirection=\"column\" gap={20}>\n <Components.FormBox\n header={<Components.FormBoxHeader title={t('title')} />}\n withPadding={false}\n footer={footer}\n >\n <div className={styles.section}>\n <Fields.Type\n label={t('paymentFieldsetLegend')}\n getOptionLabel={(value: PaymentMethodType) =>\n value === PAYMENT_METHODS.directDeposit\n ? t('directDepositLabel')\n : t('checkLabel')\n }\n FieldComponent={TypeFieldComponent}\n />\n </div>\n {watchedType === PAYMENT_METHODS.directDeposit && bankAccounts.length > 0 && (\n <DataView isWithinBox label={t('bankAccountsListLabel')} {...dataViewProps} />\n )}\n {showInlineBankForm && (\n <div className={styles.section}>\n <BankFormBody\n employeeId={employeeId}\n dictionary={dictionary}\n onSaved={data => {\n onEvent(componentEvents.EMPLOYEE_BANK_ACCOUNT_CREATED, data)\n }}\n />\n </div>\n )}\n </Components.FormBox>\n {showContinue && (\n <ActionsLayout>\n <Components.Button\n type=\"button\"\n isLoading={paymentMethodForm.status.isPending}\n onClick={() => {\n void handleContinue()\n }}\n >\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )}\n </Flex>\n </SDKFormProvider>\n </BaseLayout>\n <DeleteBankAccountDialog\n pendingDeleteAccount={pendingDeleteAccount}\n isPrimaryActionLoading={deletePendingBankAccountUuid === pendingDeleteAccount?.uuid}\n onClose={() => {\n setPendingDeleteAccount(null)\n }}\n onConfirm={() => {\n void handleConfirmDelete()\n }}\n title={t('deleteBankAccountDialog.title')}\n description={t('deleteBankAccountDialog.description', {\n account: pendingDeleteAccount?.hiddenAccountNumber ?? '',\n })}\n confirmLabel={t('deleteBankAccountDialog.confirmCta')}\n cancelLabel={t('deleteBankAccountDialog.cancelCta')}\n />\n </>\n )\n}\n"],"names":["ListView","employeeId","isAdmin","onEvent","paymentMethodList","usePaymentMethodList","paymentMethodForm","usePaymentMethodForm","errorHandling","composeErrorHandler","BaseLayout","jsx","ListViewReady","paymentMethod","bankAccounts","deletePendingBankAccountUuid","useTranslation","Components","useComponentContext","format","useNumberFormatter","dictionary","useOnboardingBankFormDictionary","Fields","watchedType","useWatch","pendingDeleteAccount","setPendingDeleteAccount","deletedAccountNumber","setDeletedAccountNumber","handleConfirmDelete","useDeleteBankAccount","uuid","result","componentEvents","dataViewProps","useDataView","bankAccount","splitAmount","split","displayValue","SPLIT_BY","centsToDollars","HamburgerMenu","TrashCanSvg","TypeFieldComponent","props","option","PAYMENT_METHODS","handleContinue","showInlineBankForm","showContinue","footer","ActionsLayout","jsxs","Fragment","SDKFormProvider","Flex","styles","value","DataView","BankFormBody","data","DeleteBankAccountDialog"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListView.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -14,7 +14,7 @@ export interface BankFormBodyProps extends Omit<UseBankFormProps, 'employeeId'>
|
|
|
14
14
|
dictionary?: BankFormBodyDictionary;
|
|
15
15
|
/** Called with the created bank account after a successful submit. */
|
|
16
16
|
onSaved: (bankAccount: EmployeeBankAccount) => void;
|
|
17
|
-
onCancel
|
|
17
|
+
onCancel?: () => void;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Shared bank-account form body. Owns the `useBankForm` composition, the field
|
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
import { jsx as n, jsxs as
|
|
1
|
+
import { jsx as n, jsxs as m } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as b } from "react-i18next";
|
|
3
3
|
import { useBankForm as g } from "../useBankForm/useBankForm.js";
|
|
4
4
|
import { ActionsLayout as y } from "../../../../Common/ActionsLayout/ActionsLayout.js";
|
|
5
|
-
import {
|
|
6
|
-
import "
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { SDKFormProvider as B } from "../../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
5
|
+
import { Form as N } from "../../../../Common/Form/Form.js";
|
|
6
|
+
import { BaseLayout as s } from "../../../../Base/Base.js";
|
|
7
|
+
import { SDKFormProvider as f } from "../../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
8
|
+
import { useComponentContext as B } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
10
9
|
import { useI18n as v, useComponentDictionary as L } from "../../../../../i18n/I18n.js";
|
|
11
|
-
function
|
|
12
|
-
employeeId:
|
|
13
|
-
dictionary:
|
|
14
|
-
onSaved:
|
|
15
|
-
onCancel:
|
|
10
|
+
function U({
|
|
11
|
+
employeeId: u,
|
|
12
|
+
dictionary: c,
|
|
13
|
+
onSaved: l,
|
|
14
|
+
onCancel: a,
|
|
16
15
|
...d
|
|
17
16
|
}) {
|
|
18
|
-
v("Employee.BankFormBody"), L("Employee.BankFormBody",
|
|
19
|
-
const r = g({ employeeId:
|
|
17
|
+
v("Employee.BankFormBody"), L("Employee.BankFormBody", c);
|
|
18
|
+
const r = g({ employeeId: u, ...d }), { t: o } = b("Employee.BankFormBody"), i = B();
|
|
20
19
|
if (r.isLoading)
|
|
21
|
-
return /* @__PURE__ */ n(
|
|
20
|
+
return /* @__PURE__ */ n(s, { isLoading: !0, error: r.errorHandling.errors });
|
|
22
21
|
const { Fields: t } = r.form, p = async () => {
|
|
23
22
|
const e = await r.actions.onSubmit();
|
|
24
|
-
e &&
|
|
23
|
+
e && l(e.data);
|
|
25
24
|
};
|
|
26
|
-
return /* @__PURE__ */ n(
|
|
25
|
+
return /* @__PURE__ */ n(s, { error: r.errorHandling.errors, children: /* @__PURE__ */ n(f, { formHookResult: r, children: /* @__PURE__ */ m(N, { onSubmit: p, children: [
|
|
27
26
|
/* @__PURE__ */ n(
|
|
28
27
|
t.Name,
|
|
29
28
|
{
|
|
@@ -59,13 +58,13 @@ function A({
|
|
|
59
58
|
getOptionLabel: (e) => o(e === "Checking" ? "accountTypeChecking" : "accountTypeSavings")
|
|
60
59
|
}
|
|
61
60
|
),
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
/* @__PURE__ */ n(
|
|
64
|
-
/* @__PURE__ */ n(
|
|
61
|
+
/* @__PURE__ */ m(y, { children: [
|
|
62
|
+
a && /* @__PURE__ */ n(i.Button, { variant: "secondary", type: "button", onClick: a, children: o("cancelCta") }),
|
|
63
|
+
/* @__PURE__ */ n(i.Button, { type: "submit", isLoading: r.status.isPending, children: o("saveCta") })
|
|
65
64
|
] })
|
|
66
65
|
] }) }) });
|
|
67
66
|
}
|
|
68
67
|
export {
|
|
69
|
-
|
|
68
|
+
U as BankFormBody
|
|
70
69
|
};
|
|
71
70
|
//# sourceMappingURL=BankFormBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BankFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport { useBankForm, type AccountType, type UseBankFormProps } from '../useBankForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type BankFormBodyDictionary = ResourceDictionary<'Employee.BankFormBody'>\n\n/** @internal */\nexport interface BankFormBodyProps extends Omit<UseBankFormProps, 'employeeId'> {\n employeeId: string\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: BankFormBodyDictionary\n /** Called with the created bank account after a successful submit. */\n onSaved: (bankAccount: EmployeeBankAccount) => void\n onCancel
|
|
1
|
+
{"version":3,"file":"BankFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { EmployeeBankAccount } from '@gusto/embedded-api/models/components/employeebankaccount'\nimport { useBankForm, type AccountType, type UseBankFormProps } from '../useBankForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type BankFormBodyDictionary = ResourceDictionary<'Employee.BankFormBody'>\n\n/** @internal */\nexport interface BankFormBodyProps extends Omit<UseBankFormProps, 'employeeId'> {\n employeeId: string\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: BankFormBodyDictionary\n /** Called with the created bank account after a successful submit. */\n onSaved: (bankAccount: EmployeeBankAccount) => void\n onCancel?: () => void\n}\n\n/**\n * Shared bank-account form body. Owns the `useBankForm` composition, the field\n * JSX, and the submit/cancel actions. Reads its copy from the internal\n * `Employee.BankFormBody` namespace; consuming surfaces inject their own copy\n * via the `dictionary` prop and map the `onSaved`/`onCancel` callbacks onto\n * their surface-specific events.\n *\n * @internal\n */\nexport function BankFormBody({\n employeeId,\n dictionary,\n onSaved,\n onCancel,\n ...hookProps\n}: BankFormBodyProps) {\n useI18n('Employee.BankFormBody')\n useComponentDictionary('Employee.BankFormBody', dictionary)\n const bankForm = useBankForm({ employeeId, ...hookProps })\n const { t } = useTranslation('Employee.BankFormBody')\n const Components = useComponentContext()\n\n if (bankForm.isLoading) {\n return <BaseLayout isLoading error={bankForm.errorHandling.errors} />\n }\n\n const { Fields } = bankForm.form\n\n const handleSubmit = async () => {\n const result = await bankForm.actions.onSubmit()\n if (result) {\n onSaved(result.data)\n }\n }\n\n return (\n <BaseLayout error={bankForm.errorHandling.errors}>\n <SDKFormProvider formHookResult={bankForm}>\n <Form onSubmit={handleSubmit}>\n <Fields.Name\n label={t('nameLabel')}\n validationMessages={{ REQUIRED: t('validations.accountName') }}\n />\n <Fields.RoutingNumber\n label={t('routingNumberLabel')}\n description={t('routingNumberDescription')}\n validationMessages={{\n REQUIRED: t('validations.routingNumber'),\n INVALID_ROUTING_NUMBER: t('validations.routingNumber'),\n }}\n />\n <Fields.AccountNumber\n label={t('accountNumberLabel')}\n validationMessages={{\n REQUIRED: t('validations.accountNumber'),\n INVALID_ACCOUNT_NUMBER: t('validations.accountNumberFormat'),\n }}\n />\n <Fields.AccountType\n label={t('accountTypeLabel')}\n getOptionLabel={(type: AccountType) =>\n type === 'Checking' ? t('accountTypeChecking') : t('accountTypeSavings')\n }\n />\n <ActionsLayout>\n {onCancel && (\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onCancel}>\n {t('cancelCta')}\n </Components.Button>\n )}\n <Components.Button type=\"submit\" isLoading={bankForm.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["BankFormBody","employeeId","dictionary","onSaved","onCancel","hookProps","useI18n","useComponentDictionary","bankForm","useBankForm","t","useTranslation","Components","useComponentContext","BaseLayout","Fields","handleSubmit","result","jsx","SDKFormProvider","jsxs","Form","type","ActionsLayout"],"mappings":";;;;;;;;;AAqCO,SAASA,EAAa;AAAA,EAC3B,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,EAAAC,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBL,CAAU;AAC1D,QAAMM,IAAWC,EAAY,EAAE,YAAAR,GAAY,GAAGI,GAAW,GACnD,EAAE,GAAAK,EAAA,IAAMC,EAAe,uBAAuB,GAC9CC,IAAaC,EAAA;AAEnB,MAAIL,EAAS;AACX,6BAAQM,GAAA,EAAW,WAAS,IAAC,OAAON,EAAS,cAAc,QAAQ;AAGrE,QAAM,EAAE,QAAAO,MAAWP,EAAS,MAEtBQ,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMT,EAAS,QAAQ,SAAA;AACtC,IAAIS,KACFd,EAAQc,EAAO,IAAI;AAAA,EAEvB;AAEA,SACE,gBAAAC,EAACJ,GAAA,EAAW,OAAON,EAAS,cAAc,QACxC,UAAA,gBAAAU,EAACC,GAAA,EAAgB,gBAAgBX,GAC/B,UAAA,gBAAAY,EAACC,GAAA,EAAK,UAAUL,GACd,UAAA;AAAA,IAAA,gBAAAE;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,WAAW;AAAA,QACpB,oBAAoB,EAAE,UAAUA,EAAE,yBAAyB,EAAA;AAAA,MAAE;AAAA,IAAA;AAAA,IAE/D,gBAAAQ;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,oBAAoB;AAAA,QAC7B,aAAaA,EAAE,0BAA0B;AAAA,QACzC,oBAAoB;AAAA,UAClB,UAAUA,EAAE,2BAA2B;AAAA,UACvC,wBAAwBA,EAAE,2BAA2B;AAAA,QAAA;AAAA,MACvD;AAAA,IAAA;AAAA,IAEF,gBAAAQ;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,oBAAoB;AAAA,QAC7B,oBAAoB;AAAA,UAClB,UAAUA,EAAE,2BAA2B;AAAA,UACvC,wBAAwBA,EAAE,iCAAiC;AAAA,QAAA;AAAA,MAC7D;AAAA,IAAA;AAAA,IAEF,gBAAAQ;AAAA,MAACH,EAAO;AAAA,MAAP;AAAA,QACC,OAAOL,EAAE,kBAAkB;AAAA,QAC3B,gBAAgB,CAACY,MACOZ,EAAtBY,MAAS,aAAe,wBAA2B,oBAAN;AAAA,MAA0B;AAAA,IAAA;AAAA,sBAG1EC,GAAA,EACE,UAAA;AAAA,MAAAnB,KACC,gBAAAc,EAACN,EAAW,QAAX,EAAkB,SAAQ,aAAY,MAAK,UAAS,SAASR,GAC3D,UAAAM,EAAE,WAAW,EAAA,CAChB;AAAA,MAEF,gBAAAQ,EAACN,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWJ,EAAS,OAAO,WACzD,UAAAE,EAAE,SAAS,EAAA,CACd;AAAA,IAAA,EAAA,CACF;AAAA,EAAA,EAAA,CACF,GACF,GACF;AAEJ;"}
|
package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js
CHANGED
|
@@ -1,106 +1,112 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import
|
|
4
|
-
import { useSplitPaymentsForm as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import "
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
1
|
+
import { jsx as r, jsxs as a } from "react/jsx-runtime";
|
|
2
|
+
import { useTranslation as S } from "react-i18next";
|
|
3
|
+
import p from "dompurify";
|
|
4
|
+
import { useSplitPaymentsForm as v } from "../useSplitPaymentsForm/useSplitPaymentsForm.js";
|
|
5
|
+
import { Flex as d } from "../../../../Common/Flex/Flex.js";
|
|
6
|
+
import { ActionsLayout as B } from "../../../../Common/ActionsLayout/ActionsLayout.js";
|
|
7
|
+
import { Form as D } from "../../../../Common/Form/Form.js";
|
|
8
|
+
import { ReorderableList as P } from "../../../../Common/ReorderableList/ReorderableList.js";
|
|
9
|
+
import { BaseLayout as y } from "../../../../Base/Base.js";
|
|
10
|
+
import { SDKFormProvider as R } from "../../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
11
|
+
import { useComponentContext as x } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
12
|
import { useI18n as C, useComponentDictionary as N } from "../../../../../i18n/I18n.js";
|
|
13
|
-
import { SPLIT_BY as
|
|
14
|
-
function
|
|
15
|
-
dictionary:
|
|
16
|
-
onSaved:
|
|
17
|
-
onCancel:
|
|
13
|
+
import { SPLIT_BY as b } from "../../../../../shared/constants.js";
|
|
14
|
+
function Q({
|
|
15
|
+
dictionary: l,
|
|
16
|
+
onSaved: s,
|
|
17
|
+
onCancel: t,
|
|
18
18
|
...e
|
|
19
19
|
}) {
|
|
20
|
-
C("Employee.SplitPaymentsFormBody"), N("Employee.SplitPaymentsFormBody",
|
|
21
|
-
const n =
|
|
22
|
-
return n.isLoading ? /* @__PURE__ */
|
|
20
|
+
C("Employee.SplitPaymentsFormBody"), N("Employee.SplitPaymentsFormBody", l);
|
|
21
|
+
const n = v(e);
|
|
22
|
+
return n.isLoading ? /* @__PURE__ */ r(y, { isLoading: !0, error: n.errorHandling.errors }) : /* @__PURE__ */ r(T, { onSaved: s, onCancel: t, splitForm: n });
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
onSaved:
|
|
26
|
-
onCancel:
|
|
27
|
-
splitForm:
|
|
24
|
+
function T({
|
|
25
|
+
onSaved: l,
|
|
26
|
+
onCancel: s,
|
|
27
|
+
splitForm: t
|
|
28
28
|
}) {
|
|
29
|
-
const { t: e } =
|
|
30
|
-
const
|
|
31
|
-
|
|
29
|
+
const { t: e } = S("Employee.SplitPaymentsFormBody"), n = x(), { Fields: i } = t.form, { remainderId: f, bankAccounts: g } = t.data, { splitBy: c, percentageTotal: h, hasPercentageImbalance: E } = t.status, L = async () => {
|
|
30
|
+
const o = await t.actions.onSubmit();
|
|
31
|
+
o && l(o.data);
|
|
32
32
|
};
|
|
33
|
-
if (
|
|
34
|
-
const
|
|
35
|
-
name:
|
|
36
|
-
account_number:
|
|
33
|
+
if (g.length < 2) return null;
|
|
34
|
+
const u = (o) => e("splitAmountLabel", {
|
|
35
|
+
name: p.sanitize(o.name ?? ""),
|
|
36
|
+
account_number: p.sanitize(o.hiddenAccountNumber ?? ""),
|
|
37
37
|
interpolation: { escapeValue: !1 }
|
|
38
|
-
}), A = (
|
|
39
|
-
const
|
|
40
|
-
|
|
38
|
+
}), A = (o) => {
|
|
39
|
+
const I = o.map((m) => i.splits[m]?.uuid).filter((m) => !!m);
|
|
40
|
+
t.actions.reorderSplits(I);
|
|
41
41
|
};
|
|
42
|
-
return /* @__PURE__ */
|
|
43
|
-
E && /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ r(y, { error: t.errorHandling.errors, children: /* @__PURE__ */ r(R, { formHookResult: t, children: /* @__PURE__ */ a(D, { onSubmit: L, children: [
|
|
43
|
+
E && /* @__PURE__ */ r(
|
|
44
44
|
n.Alert,
|
|
45
45
|
{
|
|
46
46
|
status: "error",
|
|
47
|
-
label: e("validations.percentageErrorWithTotal", { total:
|
|
47
|
+
label: e("validations.percentageErrorWithTotal", { total: h }),
|
|
48
48
|
disableScrollIntoView: !0
|
|
49
49
|
}
|
|
50
50
|
),
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
{
|
|
69
|
-
label:
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
51
|
+
/* @__PURE__ */ a(d, { flexDirection: "column", gap: 32, children: [
|
|
52
|
+
/* @__PURE__ */ a(d, { flexDirection: "column", gap: 4, children: [
|
|
53
|
+
/* @__PURE__ */ r(n.Heading, { as: "h1", styledAs: "h2", children: e("title") }),
|
|
54
|
+
/* @__PURE__ */ r(n.Text, { variant: "supporting", children: e("splitDescription") })
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ a(d, { flexDirection: "column", gap: 20, children: [
|
|
57
|
+
/* @__PURE__ */ r(
|
|
58
|
+
i.SplitBy,
|
|
59
|
+
{
|
|
60
|
+
label: e("splitByLabel"),
|
|
61
|
+
getOptionLabel: (o) => o === b.percentage ? e("percentageLabel") : e("amountLabel")
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
c === b.amount ? /* @__PURE__ */ r(
|
|
65
|
+
P,
|
|
66
|
+
{
|
|
67
|
+
label: e("draggableListLabel"),
|
|
68
|
+
items: i.splits.map((o) => ({
|
|
69
|
+
label: o.name ?? "",
|
|
70
|
+
content: /* @__PURE__ */ r(
|
|
71
|
+
o.Field,
|
|
72
|
+
{
|
|
73
|
+
label: u(o),
|
|
74
|
+
min: 0,
|
|
75
|
+
validationMessages: {
|
|
76
|
+
REQUIRED: e("validations.amountError"),
|
|
77
|
+
INVALID_AMOUNT: e("validations.amountError"),
|
|
78
|
+
INVALID_PERCENTAGE: e("validations.amountError")
|
|
79
|
+
},
|
|
80
|
+
placeholder: f === o.uuid ? e("remainderLabel") : ""
|
|
81
|
+
},
|
|
82
|
+
`amount-${o.uuid}`
|
|
83
|
+
)
|
|
84
|
+
})),
|
|
85
|
+
onReorder: A
|
|
86
|
+
},
|
|
87
|
+
`reorderable-amount-list-${c}`
|
|
88
|
+
) : i.splits.map((o) => /* @__PURE__ */ r(
|
|
89
|
+
o.Field,
|
|
90
|
+
{
|
|
91
|
+
label: u(o),
|
|
92
|
+
min: 0,
|
|
93
|
+
validationMessages: {
|
|
94
|
+
REQUIRED: e("validations.percentageAmountError"),
|
|
95
|
+
INVALID_AMOUNT: e("validations.percentageAmountError"),
|
|
96
|
+
INVALID_PERCENTAGE: e("validations.percentageAmountError")
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
`percentage-${o.uuid}`
|
|
100
|
+
))
|
|
101
|
+
] })
|
|
102
|
+
] }),
|
|
103
|
+
/* @__PURE__ */ a(B, { children: [
|
|
104
|
+
/* @__PURE__ */ r(n.Button, { variant: "secondary", type: "button", onClick: s, children: e("cancelCta") }),
|
|
105
|
+
/* @__PURE__ */ r(n.Button, { type: "submit", isLoading: t.status.isPending, children: e("saveCta") })
|
|
100
106
|
] })
|
|
101
107
|
] }) }) });
|
|
102
108
|
}
|
|
103
109
|
export {
|
|
104
|
-
|
|
110
|
+
Q as SplitPaymentsFormBody
|
|
105
111
|
};
|
|
106
112
|
//# sourceMappingURL=SplitPaymentsFormBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitPaymentsFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.tsx"],"sourcesContent":["import { Trans, useTranslation } from 'react-i18next'\nimport DOMPurify from 'dompurify'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport {\n useSplitPaymentsForm,\n type SplitByValue,\n type SplitFieldEntry,\n type UseSplitPaymentsFormProps,\n type UseSplitPaymentsFormReady,\n} from '../useSplitPaymentsForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { ReorderableList } from '@/components/Common/ReorderableList'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { SPLIT_BY } from '@/shared/constants'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type SplitPaymentsFormBodyDictionary = ResourceDictionary<'Employee.SplitPaymentsFormBody'>\n\n/** @internal */\nexport interface SplitPaymentsFormBodyProps extends UseSplitPaymentsFormProps {\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: SplitPaymentsFormBodyDictionary\n /** Called with the updated payment method after a successful submit. */\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n}\n\n/**\n * Shared split-paycheck form body. Owns the `useSplitPaymentsForm` composition,\n * the reorderable-list/percentage field JSX, and the submit/cancel actions.\n * Reads its copy from the internal `Employee.SplitPaymentsFormBody` namespace;\n * consuming surfaces inject their own copy via the `dictionary` prop and map the\n * `onSaved`/`onCancel` callbacks onto their surface-specific events.\n *\n * @internal\n */\nexport function SplitPaymentsFormBody({\n dictionary,\n onSaved,\n onCancel,\n ...hookProps\n}: SplitPaymentsFormBodyProps) {\n useI18n('Employee.SplitPaymentsFormBody')\n useComponentDictionary('Employee.SplitPaymentsFormBody', dictionary)\n const splitForm = useSplitPaymentsForm(hookProps)\n\n if (splitForm.isLoading) {\n return <BaseLayout isLoading error={splitForm.errorHandling.errors} />\n }\n\n return <SplitPaymentsFormBodyReady onSaved={onSaved} onCancel={onCancel} splitForm={splitForm} />\n}\n\ninterface SplitPaymentsFormBodyReadyProps {\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n splitForm: UseSplitPaymentsFormReady\n}\n\nfunction SplitPaymentsFormBodyReady({\n onSaved,\n onCancel,\n splitForm,\n}: SplitPaymentsFormBodyReadyProps) {\n const { t } = useTranslation('Employee.SplitPaymentsFormBody')\n const Components = useComponentContext()\n const { Fields } = splitForm.form\n const { remainderId, bankAccounts } = splitForm.data\n const { splitBy, percentageTotal, hasPercentageImbalance } = splitForm.status\n\n const handleSubmit = async () => {\n const result = await splitForm.actions.onSubmit()\n if (result) {\n onSaved(result.data)\n }\n }\n\n if (bankAccounts.length < 2) return null\n\n const labelForSplit = (split: SplitFieldEntry) =>\n t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })\n\n const handleReorder = (indices: number[]) => {\n const orderedUuids = indices\n .map(index => Fields.splits[index]?.uuid)\n .filter((uuid): uuid is string => Boolean(uuid))\n splitForm.actions.reorderSplits(orderedUuids)\n }\n\n return (\n <BaseLayout error={splitForm.errorHandling.errors}>\n <SDKFormProvider formHookResult={splitForm}>\n <Form onSubmit={handleSubmit}>\n {hasPercentageImbalance && (\n <Components.Alert\n status=\"error\"\n label={t('validations.percentageErrorWithTotal', { total: percentageTotal })}\n disableScrollIntoView\n />\n )}\n <Components.Heading as=\"h2\">{t('title')}</Components.Heading>\n <Trans t={t} i18nKey=\"splitDescription\" components={{ p: <Components.Text /> }} />\n <Fields.SplitBy\n label={t('splitByLabel')}\n getOptionLabel={(value: SplitByValue) =>\n value === SPLIT_BY.percentage ? t('percentageLabel') : t('amountLabel')\n }\n />\n {splitBy === SPLIT_BY.amount ? (\n <ReorderableList\n key={`reorderable-amount-list-${splitBy}`}\n label={t('draggableListLabel')}\n items={Fields.splits.map(split => ({\n label: split.name ?? '',\n content: (\n <split.Field\n key={`amount-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.amountError'),\n INVALID_AMOUNT: t('validations.amountError'),\n INVALID_PERCENTAGE: t('validations.amountError'),\n }}\n placeholder={remainderId === split.uuid ? t('remainderLabel') : ''}\n />\n ),\n }))}\n onReorder={handleReorder}\n />\n ) : (\n Fields.splits.map(split => (\n <split.Field\n key={`percentage-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.percentageAmountError'),\n INVALID_AMOUNT: t('validations.percentageAmountError'),\n INVALID_PERCENTAGE: t('validations.percentageAmountError'),\n }}\n />\n ))\n )}\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={splitForm.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["SplitPaymentsFormBody","dictionary","onSaved","onCancel","hookProps","useI18n","useComponentDictionary","splitForm","useSplitPaymentsForm","BaseLayout","jsx","SplitPaymentsFormBodyReady","t","useTranslation","Components","useComponentContext","Fields","remainderId","bankAccounts","splitBy","percentageTotal","hasPercentageImbalance","handleSubmit","result","labelForSplit","split","DOMPurify","handleReorder","indices","orderedUuids","index","uuid","SDKFormProvider","jsxs","Form","Trans","value","SPLIT_BY","ReorderableList","ActionsLayout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SplitPaymentsFormBody.js","sources":["../../../../../../src/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport DOMPurify from 'dompurify'\nimport type { EmployeePaymentMethod } from '@gusto/embedded-api/models/components/employeepaymentmethod'\nimport {\n useSplitPaymentsForm,\n type SplitByValue,\n type SplitFieldEntry,\n type UseSplitPaymentsFormProps,\n type UseSplitPaymentsFormReady,\n} from '../useSplitPaymentsForm'\nimport { ActionsLayout } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { Flex } from '@/components/Common/Flex'\nimport { ReorderableList } from '@/components/Common/ReorderableList'\nimport { BaseLayout } from '@/components/Base/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { SPLIT_BY } from '@/shared/constants'\nimport type { ResourceDictionary } from '@/types/Helpers'\n\n/** @internal */\nexport type SplitPaymentsFormBodyDictionary = ResourceDictionary<'Employee.SplitPaymentsFormBody'>\n\n/** @internal */\nexport interface SplitPaymentsFormBodyProps extends UseSplitPaymentsFormProps {\n /**\n * Translation overrides for the form's strings. Each consuming surface passes\n * the dictionary it resolved from its own namespace so partner overrides on\n * that namespace flow into the shared form text.\n */\n dictionary?: SplitPaymentsFormBodyDictionary\n /** Called with the updated payment method after a successful submit. */\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n}\n\n/**\n * Shared split-paycheck form body. Owns the `useSplitPaymentsForm` composition,\n * the reorderable-list/percentage field JSX, and the submit/cancel actions.\n * Reads its copy from the internal `Employee.SplitPaymentsFormBody` namespace;\n * consuming surfaces inject their own copy via the `dictionary` prop and map the\n * `onSaved`/`onCancel` callbacks onto their surface-specific events.\n *\n * @internal\n */\nexport function SplitPaymentsFormBody({\n dictionary,\n onSaved,\n onCancel,\n ...hookProps\n}: SplitPaymentsFormBodyProps) {\n useI18n('Employee.SplitPaymentsFormBody')\n useComponentDictionary('Employee.SplitPaymentsFormBody', dictionary)\n const splitForm = useSplitPaymentsForm(hookProps)\n\n if (splitForm.isLoading) {\n return <BaseLayout isLoading error={splitForm.errorHandling.errors} />\n }\n\n return <SplitPaymentsFormBodyReady onSaved={onSaved} onCancel={onCancel} splitForm={splitForm} />\n}\n\ninterface SplitPaymentsFormBodyReadyProps {\n onSaved: (paymentMethod: EmployeePaymentMethod) => void\n onCancel: () => void\n splitForm: UseSplitPaymentsFormReady\n}\n\nfunction SplitPaymentsFormBodyReady({\n onSaved,\n onCancel,\n splitForm,\n}: SplitPaymentsFormBodyReadyProps) {\n const { t } = useTranslation('Employee.SplitPaymentsFormBody')\n const Components = useComponentContext()\n const { Fields } = splitForm.form\n const { remainderId, bankAccounts } = splitForm.data\n const { splitBy, percentageTotal, hasPercentageImbalance } = splitForm.status\n\n const handleSubmit = async () => {\n const result = await splitForm.actions.onSubmit()\n if (result) {\n onSaved(result.data)\n }\n }\n\n if (bankAccounts.length < 2) return null\n\n const labelForSplit = (split: SplitFieldEntry) =>\n t('splitAmountLabel', {\n name: DOMPurify.sanitize(split.name ?? ''),\n account_number: DOMPurify.sanitize(split.hiddenAccountNumber ?? ''),\n interpolation: { escapeValue: false },\n })\n\n const handleReorder = (indices: number[]) => {\n const orderedUuids = indices\n .map(index => Fields.splits[index]?.uuid)\n .filter((uuid): uuid is string => Boolean(uuid))\n splitForm.actions.reorderSplits(orderedUuids)\n }\n\n return (\n <BaseLayout error={splitForm.errorHandling.errors}>\n <SDKFormProvider formHookResult={splitForm}>\n <Form onSubmit={handleSubmit}>\n {hasPercentageImbalance && (\n <Components.Alert\n status=\"error\"\n label={t('validations.percentageErrorWithTotal', { total: percentageTotal })}\n disableScrollIntoView\n />\n )}\n <Flex flexDirection=\"column\" gap={32}>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h1\" styledAs=\"h2\">\n {t('title')}\n </Components.Heading>\n <Components.Text variant=\"supporting\">{t('splitDescription')}</Components.Text>\n </Flex>\n <Flex flexDirection=\"column\" gap={20}>\n <Fields.SplitBy\n label={t('splitByLabel')}\n getOptionLabel={(value: SplitByValue) =>\n value === SPLIT_BY.percentage ? t('percentageLabel') : t('amountLabel')\n }\n />\n {splitBy === SPLIT_BY.amount ? (\n <ReorderableList\n key={`reorderable-amount-list-${splitBy}`}\n label={t('draggableListLabel')}\n items={Fields.splits.map(split => ({\n label: split.name ?? '',\n content: (\n <split.Field\n key={`amount-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.amountError'),\n INVALID_AMOUNT: t('validations.amountError'),\n INVALID_PERCENTAGE: t('validations.amountError'),\n }}\n placeholder={remainderId === split.uuid ? t('remainderLabel') : ''}\n />\n ),\n }))}\n onReorder={handleReorder}\n />\n ) : (\n Fields.splits.map(split => (\n <split.Field\n key={`percentage-${split.uuid}`}\n label={labelForSplit(split)}\n min={0}\n validationMessages={{\n REQUIRED: t('validations.percentageAmountError'),\n INVALID_AMOUNT: t('validations.percentageAmountError'),\n INVALID_PERCENTAGE: t('validations.percentageAmountError'),\n }}\n />\n ))\n )}\n </Flex>\n </Flex>\n <ActionsLayout>\n <Components.Button variant=\"secondary\" type=\"button\" onClick={onCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={splitForm.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n )\n}\n"],"names":["SplitPaymentsFormBody","dictionary","onSaved","onCancel","hookProps","useI18n","useComponentDictionary","splitForm","useSplitPaymentsForm","BaseLayout","jsx","SplitPaymentsFormBodyReady","t","useTranslation","Components","useComponentContext","Fields","remainderId","bankAccounts","splitBy","percentageTotal","hasPercentageImbalance","handleSubmit","result","labelForSplit","split","DOMPurify","handleReorder","indices","orderedUuids","index","uuid","SDKFormProvider","jsxs","Form","Flex","value","SPLIT_BY","ReorderableList","ActionsLayout"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { TextInputHookField as o } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
3
2
|
import { RadioGroupHookField as r } from "../../../../../partner-hook-utils/form/fields/RadioGroupHookField.js";
|
|
3
|
+
import { TextInputHookField as o } from "../../../../../partner-hook-utils/form/fields/TextInputHookField.js";
|
|
4
4
|
function m(e) {
|
|
5
5
|
return /* @__PURE__ */ n(o, { ...e, name: "name" });
|
|
6
6
|
}
|
package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { useWatch as f } from "react-hook-form";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { SPLIT_BY as s } from "../../../../../shared/constants.js";
|
|
4
|
+
import { NumberInputHookField as F } from "../../../../../partner-hook-utils/form/fields/NumberInputHookField.js";
|
|
5
5
|
function B(t) {
|
|
6
6
|
function n({
|
|
7
7
|
label: r,
|
|
@@ -13,9 +13,9 @@ function B(t) {
|
|
|
13
13
|
placeholder: c,
|
|
14
14
|
FieldComponent: d
|
|
15
15
|
}) {
|
|
16
|
-
const l = o?.form.hookFormInternals.formMethods.control, p = f({ control: l, name: "splitBy" }) ===
|
|
16
|
+
const l = o?.form.hookFormInternals.formMethods.control, p = f({ control: l, name: "splitBy" }) === s.amount ? "currency" : "percent";
|
|
17
17
|
return /* @__PURE__ */ a(
|
|
18
|
-
|
|
18
|
+
F,
|
|
19
19
|
{
|
|
20
20
|
name: `splitAmount.${t}`,
|
|
21
21
|
formHookResult: o,
|