@gusto/embedded-react-sdk 0.55.7 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -0
- package/dist/components/Common/FadeIn/FadeIn.module.scss.js +4 -4
- package/dist/components/Common/FieldCaption/FieldCaption.js +22 -18
- package/dist/components/Common/FieldCaption/FieldCaption.js.map +1 -1
- package/dist/components/Common/Flex/Flex.js +17 -15
- package/dist/components/Common/Flex/Flex.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
- package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
- package/dist/components/Common/UI/Heading/Heading.module.scss.js +7 -7
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js +43 -42
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.js.map +1 -1
- package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +27 -27
- package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PaySchedule.js +45 -30
- package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js +12 -11
- package/dist/components/Company/PaySchedule/PayScheduleComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +72 -55
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +24 -20
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js +33 -29
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js +131 -115
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +5 -3
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +31 -29
- package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +110 -109
- package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +21 -19
- package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -1
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +56 -55
- package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -1
- package/dist/components/Contractor/Dashboard/Dashboard.js +34 -33
- package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js +117 -115
- package/dist/components/Contractor/Payments/CreateHistoricalPayment/CreateHistoricalPayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +77 -75
- package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +44 -43
- package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +40 -39
- package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js +35 -29
- package/dist/components/Contractor/Payments/HistoricalPaymentSummary/HistoricalPaymentSummary.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +21 -20
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +41 -40
- package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +21 -20
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +33 -32
- package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +80 -78
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +44 -43
- package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
- package/dist/components/Contractor/Submit/Submit.js +113 -105
- package/dist/components/Contractor/Submit/Submit.js.map +1 -1
- package/dist/components/Contractor/Submit/SubmitDone.js +11 -11
- package/dist/components/Contractor/Submit/SubmitDone.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +20 -18
- package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +18 -15
- package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
- package/dist/components/Employee/Dashboard/Dashboard.js +33 -32
- package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +21 -19
- package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentManager.js +34 -26
- package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +30 -29
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +54 -53
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +29 -28
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +16 -15
- package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +27 -25
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +121 -111
- package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +22 -20
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +24 -23
- package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +52 -43
- package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +29 -26
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +19 -17
- package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +79 -78
- package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +4 -4
- package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +4 -4
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +40 -39
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +31 -30
- package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +43 -41
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +20 -19
- package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +19 -17
- package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +49 -48
- package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
- package/dist/components/Flow/Flow.js +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +28 -28
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +37 -36
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js +36 -35
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +35 -28
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +23 -22
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +48 -45
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +85 -77
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +63 -59
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js +23 -21
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js +26 -19
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +14 -12
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +184 -162
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +67 -65
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js +48 -34
- package/dist/components/Payroll/PayrollConfiguration/useCalculationPoll.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +43 -41
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -223
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js +78 -75
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +27 -27
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js +19 -19
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js +51 -48
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/usePayrollEditEmployeeForm.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +58 -48
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +58 -57
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +83 -69
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +62 -60
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +119 -117
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +187 -171
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +120 -110
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js +45 -34
- package/dist/components/Payroll/PayrollOverview/useSubmissionPoll.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +20 -14
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +62 -61
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +14 -14
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js +24 -17
- package/dist/components/Payroll/PrintChecks/PrintChecksBanner/PrintChecksBanner.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js +22 -22
- package/dist/components/Payroll/PrintChecks/PrintChecksFailure/PrintChecksFailure.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +88 -80
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +52 -37
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js +26 -26
- package/dist/components/Payroll/PrintChecks/PrintChecksSummary/PrintChecksSummary.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +32 -32
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +50 -48
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +34 -33
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +28 -24
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +255 -228
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +8 -4
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js +5 -5
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js +8 -7
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js +51 -50
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +20 -18
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js +51 -49
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js +20 -20
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyList.js +50 -49
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js +34 -33
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js +46 -45
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +152 -143
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js +14 -13
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +44 -35
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js +88 -71
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +164 -155
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js +57 -55
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +25 -24
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js +94 -92
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js +156 -155
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js +21 -19
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +28 -26
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +29 -28
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/apiVersionMismatchHook.js +15 -0
- package/dist/contexts/ApiProvider/apiVersionMismatchHook.js.map +1 -0
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ThemeProvider/ThemeProvider.js +32 -26
- package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/hooks/usePollingTask/usePollingTask.js +53 -41
- package/dist/hooks/usePollingTask/usePollingTask.js.map +1 -1
- package/dist/i18n/en/Company.PaySchedule.json.js +22 -20
- package/dist/i18n/en/Company.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +28 -24
- package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
- package/dist/i18n/en/Payroll.GrossUpModal.json.js +12 -10
- package/dist/i18n/en/Payroll.GrossUpModal.json.js.map +1 -1
- package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +8 -8
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +15 -15
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js +62 -58
- package/dist/i18n/en/Payroll.UNSTABLE_PayrollEditEmployee.json.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/src/components/Common/FieldCaption/FieldCaption.d.ts +2 -16
- package/dist/src/components/Common/FieldCaption/FieldCaptionTypes.d.ts +22 -0
- package/dist/src/components/Common/FieldCaption/index.d.ts +1 -0
- package/dist/src/components/Common/Flex/Flex.d.ts +3 -1
- package/dist/src/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +1 -1
- package/dist/src/components/Common/UI/DatePicker/DatePickerTypes.d.ts +2 -1
- package/dist/src/components/Common/UI/Menu/MenuTypes.d.ts +1 -1
- package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBox.d.ts +1 -1
- package/dist/src/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +5 -0
- package/dist/src/components/Common/UI/Select/SelectTypes.d.ts +2 -1
- package/dist/src/components/Company/PaySchedule/PaySchedule.d.ts +10 -2
- package/dist/src/components/Company/PaySchedule/PayScheduleComponents.d.ts +1 -0
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/fields.d.ts +9 -1
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/index.d.ts +2 -2
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +21 -5
- package/dist/src/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +21 -3
- package/dist/src/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +3 -1
- package/dist/src/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +3 -1
- package/dist/src/components/Contractor/Submit/SubmitDone.d.ts +3 -1
- package/dist/src/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -1
- package/dist/src/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.d.ts +3 -1
- package/dist/src/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/management/ManagementEmployeeListView.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +3 -1
- package/dist/src/components/Employee/EmployeeList/shared/useEmployeeList.d.ts +11 -2
- package/dist/src/components/Employee/EmployeeListFlow/employeeListStateMachine.test.d.ts +1 -0
- package/dist/src/components/Employee/HomeAddress/management/HomeAddressView.d.ts +3 -1
- package/dist/src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +3 -1
- package/dist/src/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +3 -1
- package/dist/src/components/Employee/WorkAddress/management/WorkAddressView.d.ts +3 -1
- package/dist/src/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +8 -0
- package/dist/src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollConfiguration/useCalculationPoll.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/fields.d.ts +9 -9
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.d.ts +2 -2
- package/dist/src/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeSchema.d.ts +4 -4
- package/dist/src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollList/PayrollListPresentation.d.ts +3 -1
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +2 -1
- package/dist/src/components/Payroll/PayrollOverview/useSubmissionPoll.d.ts +10 -1
- package/dist/src/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +2 -1
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +1 -1
- package/dist/src/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +2 -0
- package/dist/src/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +3 -1
- package/dist/src/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.d.ts +1 -1
- package/dist/src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +1 -1
- package/dist/src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +1 -1
- package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicyList/PolicyListTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +2 -0
- package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +1 -1
- package/dist/src/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +3 -0
- package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -1
- package/dist/src/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +2 -0
- package/dist/src/contexts/ApiProvider/ApiProvider.d.ts +5 -3
- package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.d.ts +3 -0
- package/dist/src/contexts/ApiProvider/apiVersionMismatchHook.test.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
- package/dist/src/contexts/ComponentAdapter/useComponentContext.d.ts +4 -1
- package/dist/src/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +9 -1
- package/dist/src/contexts/ThemeProvider/ThemeProvider.d.ts +8 -3
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +4 -1
- package/dist/src/hooks/usePollingTask/usePollingTask.d.ts +55 -14
- package/dist/src/i18n/types.d.ts +42 -2
- package/dist/src/index.d.ts +1 -1
- package/dist/src/models/external.d.ts +1 -0
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +5 -0
- package/package.json +20 -19
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
import { jsx as P, jsxs as
|
|
2
|
-
import { useContractorsListSuspense as
|
|
3
|
-
import { useContractorPaymentGroupsCreateMutation as
|
|
4
|
-
import { useContractorPaymentGroupsPreviewMutation as
|
|
5
|
-
import { useState as m, useRef as
|
|
6
|
-
import
|
|
7
|
-
import { RFCDate as
|
|
8
|
-
import { useTranslation as
|
|
9
|
-
import { useBankAccountsGet as
|
|
10
|
-
import { usePaymentAmountsEditor as
|
|
11
|
-
import { CreatePaymentPresentation as
|
|
12
|
-
import { PreviewPresentation as
|
|
13
|
-
import { useCreatePaymentAmountsDictionary as
|
|
14
|
-
import { addBusinessDays as
|
|
15
|
-
import { useCompanyPaymentSpeed as
|
|
16
|
-
import { payrollSubmitHandler as
|
|
17
|
-
import { useComponentDictionary as
|
|
18
|
-
import { BaseComponent as
|
|
19
|
-
import { useBase as
|
|
20
|
-
import { ContractorOnboardingStatus as
|
|
21
|
-
import { firstLastName as
|
|
22
|
-
const
|
|
23
|
-
function
|
|
1
|
+
import { jsx as P, jsxs as z, Fragment as W } from "react/jsx-runtime";
|
|
2
|
+
import { useContractorsListSuspense as K } from "@gusto/embedded-api/react-query/contractorsList";
|
|
3
|
+
import { useContractorPaymentGroupsCreateMutation as J } from "@gusto/embedded-api/react-query/contractorPaymentGroupsCreate";
|
|
4
|
+
import { useContractorPaymentGroupsPreviewMutation as Q } from "@gusto/embedded-api/react-query/contractorPaymentGroupsPreview";
|
|
5
|
+
import { useState as m, useRef as X, useEffect as Z } from "react";
|
|
6
|
+
import $ from "dompurify";
|
|
7
|
+
import { RFCDate as M } from "@gusto/embedded-api/types/rfcdate";
|
|
8
|
+
import { useTranslation as tt } from "react-i18next";
|
|
9
|
+
import { useBankAccountsGet as et } from "@gusto/embedded-api/react-query/bankAccountsGet";
|
|
10
|
+
import { usePaymentAmountsEditor as ot } from "../shared/usePaymentAmountsEditor.js";
|
|
11
|
+
import { CreatePaymentPresentation as nt } from "./CreatePaymentPresentation.js";
|
|
12
|
+
import { PreviewPresentation as rt } from "./PreviewPresentation.js";
|
|
13
|
+
import { useCreatePaymentAmountsDictionary as at } from "./useFormDictionary.js";
|
|
14
|
+
import { addBusinessDays as st } from "../../../../helpers/dateFormatting.js";
|
|
15
|
+
import { useCompanyPaymentSpeed as ct } from "../../../../hooks/useCompanyPaymentSpeed.js";
|
|
16
|
+
import { payrollSubmitHandler as it } from "../../../Payroll/PayrollBlocker/payrollHelpers.js";
|
|
17
|
+
import { useComponentDictionary as mt } from "../../../../i18n/I18n.js";
|
|
18
|
+
import { BaseComponent as ut } from "../../../Base/Base.js";
|
|
19
|
+
import { useBase as lt } from "../../../Base/useBase.js";
|
|
20
|
+
import { ContractorOnboardingStatus as pt, componentEvents as c } from "../../../../shared/constants.js";
|
|
21
|
+
import { firstLastName as yt } from "../../../../helpers/formattedStrings.js";
|
|
22
|
+
const G = ["Check", "Direct Deposit"];
|
|
23
|
+
function Pt(e) {
|
|
24
24
|
return [
|
|
25
25
|
String(e.getFullYear()).padStart(4, "0"),
|
|
26
26
|
String(e.getMonth() + 1).padStart(2, "0"),
|
|
27
27
|
String(e.getDate()).padStart(2, "0")
|
|
28
28
|
].join("-");
|
|
29
29
|
}
|
|
30
|
-
function
|
|
30
|
+
function v(e) {
|
|
31
31
|
const u = /* @__PURE__ */ new Date();
|
|
32
|
-
return u.setHours(0, 0, 0, 0),
|
|
32
|
+
return u.setHours(0, 0, 0, 0), Pt(st(u, e));
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
return /* @__PURE__ */ P(
|
|
34
|
+
function Ht(e) {
|
|
35
|
+
return /* @__PURE__ */ P(ut, { ...e, componentName: "Contractor.Payments.CreatePayment", children: /* @__PURE__ */ P(Ct, { ...e, children: e.children }) });
|
|
36
36
|
}
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const { t:
|
|
40
|
-
mutateAsync:
|
|
41
|
-
isPending:
|
|
42
|
-
} =
|
|
43
|
-
(t) => t.isActive && t.onboardingStatus ===
|
|
44
|
-
), { data:
|
|
45
|
-
|
|
46
|
-
d && !
|
|
37
|
+
const Ct = ({ companyId: e, dictionary: u, onEvent: r, className: O }) => {
|
|
38
|
+
mt("Contractor.Payments.CreatePayment", u);
|
|
39
|
+
const { t: k } = tt("Contractor.Payments.CreatePayment"), { baseSubmitHandler: g } = lt(), [i, h] = m(null), [U, C] = m([]), [w, N] = m({}), { mutateAsync: L, isPending: S } = J(), {
|
|
40
|
+
mutateAsync: Y,
|
|
41
|
+
isPending: E
|
|
42
|
+
} = Q(), { data: j } = K({ companyUuid: e }), l = (j.contractors || []).filter(
|
|
43
|
+
(t) => t.isActive && t.onboardingStatus === pt.ONBOARDING_COMPLETED
|
|
44
|
+
), { data: q } = et({ companyId: e }), { paymentSpeed: d, paymentSpeedDays: p } = ct(e), F = q?.companyBankAccounts?.[0], [f, R] = m(v(p)), _ = X(!1);
|
|
45
|
+
Z(() => {
|
|
46
|
+
d && !_.current && (R(v(p)), _.current = !0);
|
|
47
47
|
}, [d, p]);
|
|
48
|
-
const [
|
|
48
|
+
const [H, T] = m({}), b = (t, o) => {
|
|
49
49
|
T((n) => ({ ...n, [t]: o }));
|
|
50
|
-
},
|
|
50
|
+
}, B = () => {
|
|
51
51
|
T({});
|
|
52
|
-
},
|
|
52
|
+
}, I = at(), { virtualContractorPayments: A, totals: V, editModal: x } = ot({
|
|
53
53
|
contractors: l,
|
|
54
|
-
allowedPaymentMethods:
|
|
54
|
+
allowedPaymentMethods: G,
|
|
55
55
|
onEditOpen: () => {
|
|
56
|
-
|
|
56
|
+
B(), r(c.CONTRACTOR_PAYMENT_EDIT);
|
|
57
57
|
},
|
|
58
58
|
onEditSave: (t) => {
|
|
59
|
-
const o = l.find((a) => a.uuid === t.contractorUuid), n =
|
|
60
|
-
o?.type === "Individual" ?
|
|
59
|
+
const o = l.find((a) => a.uuid === t.contractorUuid), n = $.sanitize(
|
|
60
|
+
o?.type === "Individual" ? yt({
|
|
61
61
|
first_name: o.firstName,
|
|
62
62
|
last_name: o.lastName
|
|
63
63
|
}) : o?.businessName ?? ""
|
|
64
64
|
);
|
|
65
|
-
|
|
65
|
+
b(t.contractorUuid, {
|
|
66
66
|
type: "success",
|
|
67
|
-
title:
|
|
67
|
+
title: k("alerts.contractorPaymentUpdated", {
|
|
68
68
|
contractorName: n,
|
|
69
69
|
interpolation: { escapeValue: !1 }
|
|
70
70
|
}),
|
|
@@ -77,31 +77,32 @@ const Pt = ({ companyId: e, dictionary: u, onEvent: r }) => {
|
|
|
77
77
|
}), r(c.CONTRACTOR_PAYMENT_UPDATE, t);
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
|
-
return /* @__PURE__ */
|
|
80
|
+
return /* @__PURE__ */ z(W, { children: [
|
|
81
81
|
i && /* @__PURE__ */ P(
|
|
82
|
-
|
|
82
|
+
rt,
|
|
83
83
|
{
|
|
84
|
+
className: O,
|
|
84
85
|
contractorPaymentGroup: i,
|
|
85
86
|
contractors: l,
|
|
86
87
|
onBackToEdit: () => {
|
|
87
|
-
|
|
88
|
+
h(null), C([]), N({}), r(c.CONTRACTOR_PAYMENT_BACK_TO_EDIT);
|
|
88
89
|
},
|
|
89
90
|
onSubmit: async () => {
|
|
90
|
-
await
|
|
91
|
+
await g(null, async () => {
|
|
91
92
|
const t = A.filter((s) => s.isTouched);
|
|
92
93
|
if (t.length === 0 || !i?.creationToken)
|
|
93
94
|
return;
|
|
94
|
-
const o = i.creationToken, n = Object.entries(
|
|
95
|
+
const o = i.creationToken, n = Object.entries(w).map(
|
|
95
96
|
([s, D]) => ({
|
|
96
97
|
blockerType: s,
|
|
97
98
|
selectedOption: D
|
|
98
99
|
})
|
|
99
100
|
), a = {
|
|
100
|
-
checkDate: new
|
|
101
|
+
checkDate: new M(f),
|
|
101
102
|
contractorPayments: t.map(({ isTouched: s, ...D }) => D),
|
|
102
103
|
creationToken: o,
|
|
103
104
|
...n.length > 0 && { submissionBlockers: n }
|
|
104
|
-
}, y = await
|
|
105
|
+
}, y = await L({
|
|
105
106
|
request: {
|
|
106
107
|
companyId: e,
|
|
107
108
|
requestBody: a
|
|
@@ -110,11 +111,11 @@ const Pt = ({ companyId: e, dictionary: u, onEvent: r }) => {
|
|
|
110
111
|
r(c.CONTRACTOR_PAYMENT_CREATED, y.contractorPaymentGroup || {});
|
|
111
112
|
});
|
|
112
113
|
},
|
|
113
|
-
isLoading:
|
|
114
|
-
bankAccount:
|
|
115
|
-
selectedUnblockOptions:
|
|
114
|
+
isLoading: S || E,
|
|
115
|
+
bankAccount: F,
|
|
116
|
+
selectedUnblockOptions: w,
|
|
116
117
|
onUnblockOptionChange: (t, o) => {
|
|
117
|
-
|
|
118
|
+
N((n) => ({
|
|
118
119
|
...n,
|
|
119
120
|
[t]: o
|
|
120
121
|
}));
|
|
@@ -123,54 +124,55 @@ const Pt = ({ companyId: e, dictionary: u, onEvent: r }) => {
|
|
|
123
124
|
}
|
|
124
125
|
),
|
|
125
126
|
!i && /* @__PURE__ */ P(
|
|
126
|
-
|
|
127
|
+
nt,
|
|
127
128
|
{
|
|
129
|
+
className: O,
|
|
128
130
|
contractors: l,
|
|
129
131
|
contractorPayments: A,
|
|
130
132
|
paymentDate: f,
|
|
131
|
-
onPaymentDateChange:
|
|
133
|
+
onPaymentDateChange: R,
|
|
132
134
|
onSaveAndContinue: async () => {
|
|
133
|
-
await
|
|
135
|
+
await g(null, async () => {
|
|
134
136
|
const t = A.filter((n) => n.isTouched);
|
|
135
137
|
if (t.length === 0) {
|
|
136
|
-
|
|
138
|
+
b("error", {
|
|
137
139
|
type: "error",
|
|
138
|
-
title:
|
|
140
|
+
title: k("alerts.noContractorPayments")
|
|
139
141
|
});
|
|
140
142
|
return;
|
|
141
143
|
}
|
|
142
|
-
|
|
143
|
-
const o = await
|
|
144
|
-
const n = await
|
|
144
|
+
B(), C([]);
|
|
145
|
+
const o = await it(async () => {
|
|
146
|
+
const n = await Y({
|
|
145
147
|
request: {
|
|
146
148
|
companyId: e,
|
|
147
149
|
requestBody: {
|
|
148
150
|
contractorPayments: t.map(({ isTouched: a, ...y }) => y),
|
|
149
|
-
checkDate: new
|
|
151
|
+
checkDate: new M(f)
|
|
150
152
|
}
|
|
151
153
|
}
|
|
152
154
|
});
|
|
153
|
-
|
|
155
|
+
h(n.contractorPaymentGroupPreview || null), r(c.CONTRACTOR_PAYMENT_PREVIEW, n.contractorPaymentGroupPreview);
|
|
154
156
|
});
|
|
155
157
|
!o.success && o.blockers.length > 0 && C(o.blockers);
|
|
156
158
|
});
|
|
157
159
|
},
|
|
158
|
-
editModal:
|
|
159
|
-
allowedPaymentMethods:
|
|
160
|
-
paymentAmountsDictionary:
|
|
161
|
-
totals:
|
|
162
|
-
alerts:
|
|
163
|
-
payrollBlockers:
|
|
160
|
+
editModal: x,
|
|
161
|
+
allowedPaymentMethods: G,
|
|
162
|
+
paymentAmountsDictionary: I,
|
|
163
|
+
totals: V,
|
|
164
|
+
alerts: H,
|
|
165
|
+
payrollBlockers: U,
|
|
164
166
|
onViewBlockers: () => {
|
|
165
167
|
r(c.CONTRACTOR_PAYMENT_RFI_RESPOND);
|
|
166
168
|
},
|
|
167
|
-
isLoading:
|
|
169
|
+
isLoading: S || E,
|
|
168
170
|
paymentSpeedDays: p
|
|
169
171
|
}
|
|
170
172
|
)
|
|
171
173
|
] });
|
|
172
174
|
};
|
|
173
175
|
export {
|
|
174
|
-
|
|
176
|
+
Ht as CreatePayment
|
|
175
177
|
};
|
|
176
178
|
//# sourceMappingURL=CreatePayment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePayment.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePayment.tsx"],"sourcesContent":["import { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useContractorPaymentGroupsCreateMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsCreate'\nimport type {\n PostV1CompaniesCompanyIdContractorPaymentGroupsRequestBody,\n PostV1CompaniesCompanyIdContractorPaymentGroupsPaymentMethod as ContractorPaymentMethod,\n SubmissionBlockers,\n} from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useContractorPaymentGroupsPreviewMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsPreview'\nimport { useEffect, useRef, useState } from 'react'\nimport DOMPurify from 'dompurify'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroupPreview } from '@gusto/embedded-api/models/components/contractorpaymentgrouppreview'\nimport { useBankAccountsGet } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport { usePaymentAmountsEditor } from '../shared/usePaymentAmountsEditor'\nimport type { InternalAlert } from '../types'\nimport { CreatePaymentPresentation } from './CreatePaymentPresentation'\nimport { PreviewPresentation } from './PreviewPresentation'\nimport { useCreatePaymentAmountsDictionary } from './useFormDictionary'\nimport { addBusinessDays } from '@/helpers/dateFormatting'\nimport { useCompanyPaymentSpeed } from '@/hooks/useCompanyPaymentSpeed'\nimport {\n payrollSubmitHandler,\n type ApiPayrollBlocker,\n} from '@/components/Payroll/PayrollBlocker/payrollHelpers'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\nconst ALLOWED_PAYMENT_METHODS: ContractorPaymentMethod[] = ['Check', 'Direct Deposit']\n\nfunction formatLocalDate(date: Date): string {\n return [\n String(date.getFullYear()).padStart(4, '0'),\n String(date.getMonth() + 1).padStart(2, '0'),\n String(date.getDate()).padStart(2, '0'),\n ].join('-')\n}\n\nfunction calculateInitialPaymentDate(speedDays: number): string {\n const today = new Date()\n today.setHours(0, 0, 0, 0)\n return formatLocalDate(addBusinessDays(today, speedDays))\n}\n\n/**\n * Props for {@link CreatePayment}.\n *\n * @public\n */\nexport interface CreatePaymentProps extends BaseComponentInterface<'Contractor.Payments.CreatePayment'> {\n /** UUID of the company for which to create a contractor payment group. */\n companyId: string\n}\n\n/**\n * Form for creating a contractor payment group, including date selection, per-contractor edits, preview, and submission blockers.\n *\n * @remarks\n * Active, fully onboarded contractors are listed for the given company. Hours and bonuses apply to hourly contractors; wages apply to fixed contractors; reimbursements apply to both. The form previews the payment group before final submission and surfaces Fast ACH submission blockers when applicable.\n *\n * Features:\n *\n * - **Payment date selection** — choose the payment date; a notice shows the resulting payment speed.\n * - **Per-contractor editing** — edit hours and bonus (hourly contractors), wage (fixed contractors), and reimbursement (all) in a modal, with a running total.\n * - **Payment method** — choose Check or Direct Deposit per contractor.\n * - **Live totals** — wage, bonus, reimbursement, and overall totals update as amounts change.\n * - **Preview before submit** — review per-contractor amounts, debit amount, debit account, debit date, contractor pay date, and the submission deadline before finalizing.\n * - **Submission blockers** — Fast ACH blockers surface inline with selectable unblock options (wire transfer or slower direct deposit); submission stays disabled until every blocker is resolved.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/payments/edit` | The edit modal was opened for a contractor. | — |\n * | `contractor/payments/update` | A contractor's payment values were updated locally. | The updated form values (hours, wage, bonus, reimbursement, payment method, etc.). |\n * | `contractor/payments/preview` | The preview API call succeeded. | The contractor payment group preview response. |\n * | `contractor/payments/backToEdit` | The user returned from preview to continue editing. | — |\n * | `contractor/payments/created` | The payment group was successfully created. | The created contractor payment group response. |\n * | `contractor/payments/rfi/respond` | The user clicked to respond to a payment blocker. | — |\n *\n * @param props - Component props including the company identifier and event handler.\n * @returns The rendered create-payment form, preview, and edit modal.\n * @public\n *\n * @example\n * ```tsx\n * import { ContractorManagement } from '@gusto/embedded-react-sdk'\n *\n * function CreateContractorPayment() {\n * return (\n * <ContractorManagement.CreatePayment\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function CreatePayment(props: CreatePaymentProps) {\n return (\n <BaseComponent {...props} componentName=\"Contractor.Payments.CreatePayment\">\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ companyId, dictionary, onEvent }: CreatePaymentProps) => {\n useComponentDictionary('Contractor.Payments.CreatePayment', dictionary)\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const { baseSubmitHandler } = useBase()\n const [previewData, setPreviewData] = useState<ContractorPaymentGroupPreview | null>(null)\n const [payrollBlockers, setPayrollBlockers] = useState<ApiPayrollBlocker[]>([])\n const [selectedUnblockOptions, setSelectedUnblockOptions] = useState<Record<string, string>>({})\n\n const { mutateAsync: createContractorPaymentGroup, isPending: isCreatingContractorPaymentGroup } =\n useContractorPaymentGroupsCreateMutation()\n const {\n mutateAsync: previewContractorPaymentGroup,\n isPending: isPreviewingContractorPaymentGroup,\n } = useContractorPaymentGroupsPreviewMutation()\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractors || []).filter(\n contractor =>\n contractor.isActive &&\n contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n )\n const { data: bankAccounts } = useBankAccountsGet({ companyId })\n const { paymentSpeed, paymentSpeedDays } = useCompanyPaymentSpeed(companyId)\n const bankAccount = bankAccounts?.companyBankAccounts?.[0]\n\n const [paymentDate, setPaymentDate] = useState(calculateInitialPaymentDate(paymentSpeedDays))\n const hasInitializedPaymentDateRef = useRef(false)\n\n useEffect(() => {\n if (paymentSpeed && !hasInitializedPaymentDateRef.current) {\n setPaymentDate(calculateInitialPaymentDate(paymentSpeedDays))\n hasInitializedPaymentDateRef.current = true\n }\n }, [paymentSpeed, paymentSpeedDays])\n\n const [alerts, setAlertsState] = useState<Record<string, InternalAlert>>({})\n const setAlert = (key: string, alert: InternalAlert) => {\n setAlertsState(prev => ({ ...prev, [key]: alert }))\n }\n const clearAlerts = () => {\n setAlertsState({})\n }\n\n const paymentAmountsDictionary = useCreatePaymentAmountsDictionary()\n\n const { virtualContractorPayments, totals, editModal } = usePaymentAmountsEditor({\n contractors,\n allowedPaymentMethods: ALLOWED_PAYMENT_METHODS,\n onEditOpen: () => {\n clearAlerts()\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EDIT)\n },\n onEditSave: data => {\n const displayContractor = contractors.find(c => c.uuid === data.contractorUuid)\n const displayName = DOMPurify.sanitize(\n displayContractor?.type === 'Individual'\n ? firstLastName({\n first_name: displayContractor.firstName,\n last_name: displayContractor.lastName,\n })\n : (displayContractor?.businessName ?? ''),\n )\n\n setAlert(data.contractorUuid, {\n type: 'success',\n title: t('alerts.contractorPaymentUpdated', {\n contractorName: displayName,\n interpolation: { escapeValue: false },\n }),\n onDismiss: () => {\n setAlertsState(prev => {\n const { [data.contractorUuid]: _, ...rest } = prev\n return rest\n })\n },\n })\n onEvent(componentEvents.CONTRACTOR_PAYMENT_UPDATE, data)\n },\n })\n\n const onCreatePaymentGroup = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0 || !previewData?.creationToken) {\n return\n }\n const creationToken = previewData.creationToken\n\n const submissionBlockers: SubmissionBlockers[] = Object.entries(selectedUnblockOptions).map(\n ([blockerType, selectedOption]) => ({\n blockerType,\n selectedOption,\n }),\n )\n\n const requestBody: PostV1CompaniesCompanyIdContractorPaymentGroupsRequestBody = {\n checkDate: new RFCDate(paymentDate),\n contractorPayments: contractorPayments.map(({ isTouched, ...rest }) => rest),\n creationToken,\n ...(submissionBlockers.length > 0 && { submissionBlockers }),\n }\n\n const response = await createContractorPaymentGroup({\n request: {\n companyId,\n requestBody,\n },\n })\n\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATED, response.contractorPaymentGroup || {})\n })\n }\n\n const onUnblockOptionChange = (blockerType: string, value: string) => {\n setSelectedUnblockOptions(prev => ({\n ...prev,\n [blockerType]: value,\n }))\n }\n\n const onContinueToPreview = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0) {\n setAlert('error', {\n type: 'error',\n title: t('alerts.noContractorPayments'),\n })\n return\n }\n clearAlerts()\n setPayrollBlockers([])\n\n const result = await payrollSubmitHandler(async () => {\n const response = await previewContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n contractorPayments: contractorPayments.map(({ isTouched, ...rest }) => rest),\n checkDate: new RFCDate(paymentDate),\n },\n },\n })\n setPreviewData(response.contractorPaymentGroupPreview || null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_PREVIEW, response.contractorPaymentGroupPreview)\n })\n\n if (!result.success && result.blockers.length > 0) {\n setPayrollBlockers(result.blockers)\n }\n })\n }\n const onBackToEdit = () => {\n setPreviewData(null)\n setPayrollBlockers([])\n setSelectedUnblockOptions({})\n onEvent(componentEvents.CONTRACTOR_PAYMENT_BACK_TO_EDIT)\n }\n const onViewBlockers = () => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND)\n }\n\n return (\n <>\n {previewData && (\n <PreviewPresentation\n contractorPaymentGroup={previewData}\n contractors={contractors}\n onBackToEdit={onBackToEdit}\n onSubmit={onCreatePaymentGroup}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n bankAccount={bankAccount}\n selectedUnblockOptions={selectedUnblockOptions}\n onUnblockOptionChange={onUnblockOptionChange}\n paymentSpeed={paymentSpeed}\n />\n )}\n {!previewData && (\n <CreatePaymentPresentation\n contractors={contractors}\n contractorPayments={virtualContractorPayments}\n paymentDate={paymentDate}\n onPaymentDateChange={setPaymentDate}\n onSaveAndContinue={onContinueToPreview}\n editModal={editModal}\n allowedPaymentMethods={ALLOWED_PAYMENT_METHODS}\n paymentAmountsDictionary={paymentAmountsDictionary}\n totals={totals}\n alerts={alerts}\n payrollBlockers={payrollBlockers}\n onViewBlockers={onViewBlockers}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n paymentSpeedDays={paymentSpeedDays}\n />\n )}\n </>\n )\n}\n"],"names":["ALLOWED_PAYMENT_METHODS","formatLocalDate","date","calculateInitialPaymentDate","speedDays","today","addBusinessDays","CreatePayment","props","jsx","BaseComponent","Root","companyId","dictionary","onEvent","useComponentDictionary","t","useTranslation","baseSubmitHandler","useBase","previewData","setPreviewData","useState","payrollBlockers","setPayrollBlockers","selectedUnblockOptions","setSelectedUnblockOptions","createContractorPaymentGroup","isCreatingContractorPaymentGroup","useContractorPaymentGroupsCreateMutation","previewContractorPaymentGroup","isPreviewingContractorPaymentGroup","useContractorPaymentGroupsPreviewMutation","contractorList","useContractorsListSuspense","contractors","contractor","ContractorOnboardingStatus","bankAccounts","useBankAccountsGet","paymentSpeed","paymentSpeedDays","useCompanyPaymentSpeed","bankAccount","paymentDate","setPaymentDate","hasInitializedPaymentDateRef","useRef","useEffect","alerts","setAlertsState","setAlert","key","alert","prev","clearAlerts","paymentAmountsDictionary","useCreatePaymentAmountsDictionary","virtualContractorPayments","totals","editModal","usePaymentAmountsEditor","componentEvents","data","displayContractor","c","displayName","DOMPurify","firstLastName","_","rest","jsxs","Fragment","PreviewPresentation","contractorPayments","payment","creationToken","submissionBlockers","blockerType","selectedOption","requestBody","RFCDate","isTouched","response","value","CreatePaymentPresentation","result","payrollSubmitHandler"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatePayment.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePayment.tsx"],"sourcesContent":["import { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useContractorPaymentGroupsCreateMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsCreate'\nimport type {\n PostV1CompaniesCompanyIdContractorPaymentGroupsRequestBody,\n PostV1CompaniesCompanyIdContractorPaymentGroupsPaymentMethod as ContractorPaymentMethod,\n SubmissionBlockers,\n} from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useContractorPaymentGroupsPreviewMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsPreview'\nimport { useEffect, useRef, useState } from 'react'\nimport DOMPurify from 'dompurify'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroupPreview } from '@gusto/embedded-api/models/components/contractorpaymentgrouppreview'\nimport { useBankAccountsGet } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport { usePaymentAmountsEditor } from '../shared/usePaymentAmountsEditor'\nimport type { InternalAlert } from '../types'\nimport { CreatePaymentPresentation } from './CreatePaymentPresentation'\nimport { PreviewPresentation } from './PreviewPresentation'\nimport { useCreatePaymentAmountsDictionary } from './useFormDictionary'\nimport { addBusinessDays } from '@/helpers/dateFormatting'\nimport { useCompanyPaymentSpeed } from '@/hooks/useCompanyPaymentSpeed'\nimport {\n payrollSubmitHandler,\n type ApiPayrollBlocker,\n} from '@/components/Payroll/PayrollBlocker/payrollHelpers'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\nconst ALLOWED_PAYMENT_METHODS: ContractorPaymentMethod[] = ['Check', 'Direct Deposit']\n\nfunction formatLocalDate(date: Date): string {\n return [\n String(date.getFullYear()).padStart(4, '0'),\n String(date.getMonth() + 1).padStart(2, '0'),\n String(date.getDate()).padStart(2, '0'),\n ].join('-')\n}\n\nfunction calculateInitialPaymentDate(speedDays: number): string {\n const today = new Date()\n today.setHours(0, 0, 0, 0)\n return formatLocalDate(addBusinessDays(today, speedDays))\n}\n\n/**\n * Props for {@link CreatePayment}.\n *\n * @public\n */\nexport interface CreatePaymentProps extends BaseComponentInterface<'Contractor.Payments.CreatePayment'> {\n /** UUID of the company for which to create a contractor payment group. */\n companyId: string\n}\n\n/**\n * Form for creating a contractor payment group, including date selection, per-contractor edits, preview, and submission blockers.\n *\n * @remarks\n * Active, fully onboarded contractors are listed for the given company. Hours and bonuses apply to hourly contractors; wages apply to fixed contractors; reimbursements apply to both. The form previews the payment group before final submission and surfaces Fast ACH submission blockers when applicable.\n *\n * Features:\n *\n * - **Payment date selection** — choose the payment date; a notice shows the resulting payment speed.\n * - **Per-contractor editing** — edit hours and bonus (hourly contractors), wage (fixed contractors), and reimbursement (all) in a modal, with a running total.\n * - **Payment method** — choose Check or Direct Deposit per contractor.\n * - **Live totals** — wage, bonus, reimbursement, and overall totals update as amounts change.\n * - **Preview before submit** — review per-contractor amounts, debit amount, debit account, debit date, contractor pay date, and the submission deadline before finalizing.\n * - **Submission blockers** — Fast ACH blockers surface inline with selectable unblock options (wire transfer or slower direct deposit); submission stays disabled until every blocker is resolved.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/payments/edit` | The edit modal was opened for a contractor. | — |\n * | `contractor/payments/update` | A contractor's payment values were updated locally. | The updated form values (hours, wage, bonus, reimbursement, payment method, etc.). |\n * | `contractor/payments/preview` | The preview API call succeeded. | The contractor payment group preview response. |\n * | `contractor/payments/backToEdit` | The user returned from preview to continue editing. | — |\n * | `contractor/payments/created` | The payment group was successfully created. | The created contractor payment group response. |\n * | `contractor/payments/rfi/respond` | The user clicked to respond to a payment blocker. | — |\n *\n * @param props - Component props including the company identifier and event handler.\n * @returns The rendered create-payment form, preview, and edit modal.\n * @public\n *\n * @example\n * ```tsx\n * import { ContractorManagement } from '@gusto/embedded-react-sdk'\n *\n * function CreateContractorPayment() {\n * return (\n * <ContractorManagement.CreatePayment\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function CreatePayment(props: CreatePaymentProps) {\n return (\n <BaseComponent {...props} componentName=\"Contractor.Payments.CreatePayment\">\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ companyId, dictionary, onEvent, className }: CreatePaymentProps) => {\n useComponentDictionary('Contractor.Payments.CreatePayment', dictionary)\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const { baseSubmitHandler } = useBase()\n const [previewData, setPreviewData] = useState<ContractorPaymentGroupPreview | null>(null)\n const [payrollBlockers, setPayrollBlockers] = useState<ApiPayrollBlocker[]>([])\n const [selectedUnblockOptions, setSelectedUnblockOptions] = useState<Record<string, string>>({})\n\n const { mutateAsync: createContractorPaymentGroup, isPending: isCreatingContractorPaymentGroup } =\n useContractorPaymentGroupsCreateMutation()\n const {\n mutateAsync: previewContractorPaymentGroup,\n isPending: isPreviewingContractorPaymentGroup,\n } = useContractorPaymentGroupsPreviewMutation()\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractors || []).filter(\n contractor =>\n contractor.isActive &&\n contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n )\n const { data: bankAccounts } = useBankAccountsGet({ companyId })\n const { paymentSpeed, paymentSpeedDays } = useCompanyPaymentSpeed(companyId)\n const bankAccount = bankAccounts?.companyBankAccounts?.[0]\n\n const [paymentDate, setPaymentDate] = useState(calculateInitialPaymentDate(paymentSpeedDays))\n const hasInitializedPaymentDateRef = useRef(false)\n\n useEffect(() => {\n if (paymentSpeed && !hasInitializedPaymentDateRef.current) {\n setPaymentDate(calculateInitialPaymentDate(paymentSpeedDays))\n hasInitializedPaymentDateRef.current = true\n }\n }, [paymentSpeed, paymentSpeedDays])\n\n const [alerts, setAlertsState] = useState<Record<string, InternalAlert>>({})\n const setAlert = (key: string, alert: InternalAlert) => {\n setAlertsState(prev => ({ ...prev, [key]: alert }))\n }\n const clearAlerts = () => {\n setAlertsState({})\n }\n\n const paymentAmountsDictionary = useCreatePaymentAmountsDictionary()\n\n const { virtualContractorPayments, totals, editModal } = usePaymentAmountsEditor({\n contractors,\n allowedPaymentMethods: ALLOWED_PAYMENT_METHODS,\n onEditOpen: () => {\n clearAlerts()\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EDIT)\n },\n onEditSave: data => {\n const displayContractor = contractors.find(c => c.uuid === data.contractorUuid)\n const displayName = DOMPurify.sanitize(\n displayContractor?.type === 'Individual'\n ? firstLastName({\n first_name: displayContractor.firstName,\n last_name: displayContractor.lastName,\n })\n : (displayContractor?.businessName ?? ''),\n )\n\n setAlert(data.contractorUuid, {\n type: 'success',\n title: t('alerts.contractorPaymentUpdated', {\n contractorName: displayName,\n interpolation: { escapeValue: false },\n }),\n onDismiss: () => {\n setAlertsState(prev => {\n const { [data.contractorUuid]: _, ...rest } = prev\n return rest\n })\n },\n })\n onEvent(componentEvents.CONTRACTOR_PAYMENT_UPDATE, data)\n },\n })\n\n const onCreatePaymentGroup = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0 || !previewData?.creationToken) {\n return\n }\n const creationToken = previewData.creationToken\n\n const submissionBlockers: SubmissionBlockers[] = Object.entries(selectedUnblockOptions).map(\n ([blockerType, selectedOption]) => ({\n blockerType,\n selectedOption,\n }),\n )\n\n const requestBody: PostV1CompaniesCompanyIdContractorPaymentGroupsRequestBody = {\n checkDate: new RFCDate(paymentDate),\n contractorPayments: contractorPayments.map(({ isTouched, ...rest }) => rest),\n creationToken,\n ...(submissionBlockers.length > 0 && { submissionBlockers }),\n }\n\n const response = await createContractorPaymentGroup({\n request: {\n companyId,\n requestBody,\n },\n })\n\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATED, response.contractorPaymentGroup || {})\n })\n }\n\n const onUnblockOptionChange = (blockerType: string, value: string) => {\n setSelectedUnblockOptions(prev => ({\n ...prev,\n [blockerType]: value,\n }))\n }\n\n const onContinueToPreview = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0) {\n setAlert('error', {\n type: 'error',\n title: t('alerts.noContractorPayments'),\n })\n return\n }\n clearAlerts()\n setPayrollBlockers([])\n\n const result = await payrollSubmitHandler(async () => {\n const response = await previewContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n contractorPayments: contractorPayments.map(({ isTouched, ...rest }) => rest),\n checkDate: new RFCDate(paymentDate),\n },\n },\n })\n setPreviewData(response.contractorPaymentGroupPreview || null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_PREVIEW, response.contractorPaymentGroupPreview)\n })\n\n if (!result.success && result.blockers.length > 0) {\n setPayrollBlockers(result.blockers)\n }\n })\n }\n const onBackToEdit = () => {\n setPreviewData(null)\n setPayrollBlockers([])\n setSelectedUnblockOptions({})\n onEvent(componentEvents.CONTRACTOR_PAYMENT_BACK_TO_EDIT)\n }\n const onViewBlockers = () => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND)\n }\n\n return (\n <>\n {previewData && (\n <PreviewPresentation\n className={className}\n contractorPaymentGroup={previewData}\n contractors={contractors}\n onBackToEdit={onBackToEdit}\n onSubmit={onCreatePaymentGroup}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n bankAccount={bankAccount}\n selectedUnblockOptions={selectedUnblockOptions}\n onUnblockOptionChange={onUnblockOptionChange}\n paymentSpeed={paymentSpeed}\n />\n )}\n {!previewData && (\n <CreatePaymentPresentation\n className={className}\n contractors={contractors}\n contractorPayments={virtualContractorPayments}\n paymentDate={paymentDate}\n onPaymentDateChange={setPaymentDate}\n onSaveAndContinue={onContinueToPreview}\n editModal={editModal}\n allowedPaymentMethods={ALLOWED_PAYMENT_METHODS}\n paymentAmountsDictionary={paymentAmountsDictionary}\n totals={totals}\n alerts={alerts}\n payrollBlockers={payrollBlockers}\n onViewBlockers={onViewBlockers}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n paymentSpeedDays={paymentSpeedDays}\n />\n )}\n </>\n )\n}\n"],"names":["ALLOWED_PAYMENT_METHODS","formatLocalDate","date","calculateInitialPaymentDate","speedDays","today","addBusinessDays","CreatePayment","props","jsx","BaseComponent","Root","companyId","dictionary","onEvent","className","useComponentDictionary","t","useTranslation","baseSubmitHandler","useBase","previewData","setPreviewData","useState","payrollBlockers","setPayrollBlockers","selectedUnblockOptions","setSelectedUnblockOptions","createContractorPaymentGroup","isCreatingContractorPaymentGroup","useContractorPaymentGroupsCreateMutation","previewContractorPaymentGroup","isPreviewingContractorPaymentGroup","useContractorPaymentGroupsPreviewMutation","contractorList","useContractorsListSuspense","contractors","contractor","ContractorOnboardingStatus","bankAccounts","useBankAccountsGet","paymentSpeed","paymentSpeedDays","useCompanyPaymentSpeed","bankAccount","paymentDate","setPaymentDate","hasInitializedPaymentDateRef","useRef","useEffect","alerts","setAlertsState","setAlert","key","alert","prev","clearAlerts","paymentAmountsDictionary","useCreatePaymentAmountsDictionary","virtualContractorPayments","totals","editModal","usePaymentAmountsEditor","componentEvents","data","displayContractor","c","displayName","DOMPurify","firstLastName","_","rest","jsxs","Fragment","PreviewPresentation","contractorPayments","payment","creationToken","submissionBlockers","blockerType","selectedOption","requestBody","RFCDate","isTouched","response","value","CreatePaymentPresentation","result","payrollSubmitHandler"],"mappings":"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"}
|
|
@@ -1,43 +1,44 @@
|
|
|
1
1
|
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { useTranslation as
|
|
3
|
-
import { PayrollBlockerAlerts as
|
|
4
|
-
import { Flex as o, FlexItem as
|
|
5
|
-
import { useComponentContext as
|
|
6
|
-
import { useI18n as
|
|
7
|
-
import { normalizeDateToLocal as
|
|
8
|
-
import { SetPaymentAmounts as
|
|
9
|
-
const
|
|
10
|
-
|
|
2
|
+
import { useTranslation as v } from "react-i18next";
|
|
3
|
+
import { PayrollBlockerAlerts as z } from "../../../Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js";
|
|
4
|
+
import { Flex as o, FlexItem as A } from "../../../Common/Flex/Flex.js";
|
|
5
|
+
import { useComponentContext as S } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
6
|
+
import { useI18n as B } from "../../../../i18n/I18n.js";
|
|
7
|
+
import { normalizeDateToLocal as F, formatDateToStringDate as I, normalizeToDate as L } from "../../../../helpers/dateFormatting.js";
|
|
8
|
+
import { SetPaymentAmounts as q } from "../shared/SetPaymentAmounts/SetPaymentAmounts.js";
|
|
9
|
+
const J = ({
|
|
10
|
+
className: m,
|
|
11
|
+
contractors: c,
|
|
11
12
|
paymentDate: i,
|
|
12
|
-
contractorPayments:
|
|
13
|
-
onPaymentDateChange:
|
|
14
|
-
onSaveAndContinue:
|
|
15
|
-
editModal:
|
|
16
|
-
allowedPaymentMethods:
|
|
17
|
-
paymentAmountsDictionary:
|
|
18
|
-
totals:
|
|
19
|
-
alerts:
|
|
13
|
+
contractorPayments: s,
|
|
14
|
+
onPaymentDateChange: u,
|
|
15
|
+
onSaveAndContinue: p,
|
|
16
|
+
editModal: d,
|
|
17
|
+
allowedPaymentMethods: f,
|
|
18
|
+
paymentAmountsDictionary: h,
|
|
19
|
+
totals: C,
|
|
20
|
+
alerts: x,
|
|
20
21
|
payrollBlockers: a = [],
|
|
21
|
-
onViewBlockers:
|
|
22
|
-
isLoading:
|
|
23
|
-
paymentSpeedDays:
|
|
22
|
+
onViewBlockers: y,
|
|
23
|
+
isLoading: g,
|
|
24
|
+
paymentSpeedDays: D
|
|
24
25
|
}) => {
|
|
25
|
-
const { Button:
|
|
26
|
-
|
|
27
|
-
const { t: n } =
|
|
28
|
-
return /* @__PURE__ */ r(o, { flexDirection: "column", gap: 32, children: [
|
|
26
|
+
const { Button: P, Text: b, Heading: k, DatePicker: T, Alert: j } = S();
|
|
27
|
+
B("Contractor.Payments.CreatePayment");
|
|
28
|
+
const { t: n } = v("Contractor.Payments.CreatePayment");
|
|
29
|
+
return /* @__PURE__ */ r(o, { className: m, flexDirection: "column", gap: 32, children: [
|
|
29
30
|
/* @__PURE__ */ r(o, { justifyContent: "flex-end", gap: 16, children: [
|
|
30
31
|
/* @__PURE__ */ r(o, { flexDirection: "column", gap: 4, children: [
|
|
31
|
-
/* @__PURE__ */ e(
|
|
32
|
-
/* @__PURE__ */ e(
|
|
33
|
-
count:
|
|
32
|
+
/* @__PURE__ */ e(k, { as: "h2", children: n("title") }),
|
|
33
|
+
/* @__PURE__ */ e(b, { variant: "supporting", children: n("paymentSpeedNotice", {
|
|
34
|
+
count: D
|
|
34
35
|
}) })
|
|
35
36
|
] }),
|
|
36
|
-
/* @__PURE__ */ e(
|
|
37
|
+
/* @__PURE__ */ e(A, { children: /* @__PURE__ */ e(P, { onClick: p, variant: "primary", isLoading: g, children: n("continueCta") }) })
|
|
37
38
|
] }),
|
|
38
|
-
a.length > 0 && /* @__PURE__ */ e(
|
|
39
|
-
Object.values(
|
|
40
|
-
|
|
39
|
+
a.length > 0 && /* @__PURE__ */ e(z, { blockers: a, onViewBlockersClick: y }),
|
|
40
|
+
Object.values(x).map((t) => /* @__PURE__ */ e(
|
|
41
|
+
j,
|
|
41
42
|
{
|
|
42
43
|
label: t.title,
|
|
43
44
|
onDismiss: t.onDismiss,
|
|
@@ -47,31 +48,31 @@ const G = ({
|
|
|
47
48
|
t.title
|
|
48
49
|
)),
|
|
49
50
|
/* @__PURE__ */ e(o, { flexDirection: "column", gap: 8, children: /* @__PURE__ */ e(
|
|
50
|
-
|
|
51
|
+
T,
|
|
51
52
|
{
|
|
52
|
-
value: i ?
|
|
53
|
+
value: i ? L(i) : null,
|
|
53
54
|
onChange: (t) => {
|
|
54
|
-
const l =
|
|
55
|
-
|
|
55
|
+
const l = F(t);
|
|
56
|
+
u(l ? I(l) ?? "" : "");
|
|
56
57
|
},
|
|
57
58
|
label: n("dateLabel"),
|
|
58
59
|
isRequired: !0
|
|
59
60
|
}
|
|
60
61
|
) }),
|
|
61
62
|
/* @__PURE__ */ e(
|
|
62
|
-
|
|
63
|
+
q,
|
|
63
64
|
{
|
|
64
|
-
contractors:
|
|
65
|
-
contractorPayments:
|
|
66
|
-
totals:
|
|
67
|
-
allowedPaymentMethods:
|
|
68
|
-
editModal:
|
|
69
|
-
dictionary:
|
|
65
|
+
contractors: c,
|
|
66
|
+
contractorPayments: s,
|
|
67
|
+
totals: C,
|
|
68
|
+
allowedPaymentMethods: f,
|
|
69
|
+
editModal: d,
|
|
70
|
+
dictionary: h
|
|
70
71
|
}
|
|
71
72
|
)
|
|
72
73
|
] });
|
|
73
74
|
};
|
|
74
75
|
export {
|
|
75
|
-
|
|
76
|
+
J as CreatePaymentPresentation
|
|
76
77
|
};
|
|
77
78
|
//# sourceMappingURL=CreatePaymentPresentation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePaymentPresentation.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type {\n PostV1CompaniesCompanyIdContractorPaymentGroupsContractorPayments as ContractorPayments,\n PostV1CompaniesCompanyIdContractorPaymentGroupsPaymentMethod as ContractorPaymentMethod,\n} from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport type { InternalAlert } from '../types'\nimport { SetPaymentAmounts, type SetPaymentAmountsDictionary } from '../shared/SetPaymentAmounts'\nimport type { UsePaymentAmountsEditorReturn } from '../shared/usePaymentAmountsEditor'\nimport type { ApiPayrollBlocker } from '@/components/Payroll/PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '@/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts'\nimport { Flex, FlexItem } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n formatDateToStringDate,\n normalizeDateToLocal,\n normalizeToDate,\n} from '@/helpers/dateFormatting'\n\ninterface ContractorPaymentCreatePaymentPresentationProps {\n contractors: Contractor[]\n contractorPayments: (ContractorPayments & { isTouched?: boolean })[]\n paymentDate: string\n onPaymentDateChange: (date: string) => void\n onSaveAndContinue: () => void\n editModal: UsePaymentAmountsEditorReturn['editModal']\n allowedPaymentMethods: ContractorPaymentMethod[]\n paymentAmountsDictionary: SetPaymentAmountsDictionary\n totals: {\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }\n alerts: Record<string, InternalAlert>\n payrollBlockers?: ApiPayrollBlocker[]\n onViewBlockers?: () => void\n isLoading: boolean\n paymentSpeedDays: number\n}\n\n/** @internal */\nexport const CreatePaymentPresentation = ({\n contractors,\n paymentDate,\n contractorPayments,\n onPaymentDateChange,\n onSaveAndContinue,\n editModal,\n allowedPaymentMethods,\n paymentAmountsDictionary,\n totals,\n alerts,\n payrollBlockers = [],\n onViewBlockers,\n isLoading,\n paymentSpeedDays,\n}: ContractorPaymentCreatePaymentPresentationProps) => {\n const { Button, Text, Heading, DatePicker, Alert } = useComponentContext()\n useI18n('Contractor.Payments.CreatePayment')\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Flex justifyContent=\"flex-end\" gap={16}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {t('paymentSpeedNotice', {\n count: paymentSpeedDays,\n })}\n </Text>\n </Flex>\n <FlexItem>\n <Button onClick={onSaveAndContinue} variant=\"primary\" isLoading={isLoading}>\n {t('continueCta')}\n </Button>\n </FlexItem>\n </Flex>\n\n {payrollBlockers.length > 0 && (\n <PayrollBlockerAlerts blockers={payrollBlockers} onViewBlockersClick={onViewBlockers} />\n )}\n\n {Object.values(alerts).map(alert => (\n <Alert\n key={alert.title}\n label={alert.title}\n onDismiss={alert.onDismiss}\n status={alert.type}\n >\n {alert.content ?? null}\n </Alert>\n ))}\n\n <Flex flexDirection=\"column\" gap={8}>\n <DatePicker\n value={paymentDate ? normalizeToDate(paymentDate) : null}\n onChange={date => {\n const normalized = normalizeDateToLocal(date)\n onPaymentDateChange(normalized ? (formatDateToStringDate(normalized) ?? '') : '')\n }}\n label={t('dateLabel')}\n isRequired\n />\n </Flex>\n\n <SetPaymentAmounts\n contractors={contractors}\n contractorPayments={contractorPayments}\n totals={totals}\n allowedPaymentMethods={allowedPaymentMethods}\n editModal={editModal}\n dictionary={paymentAmountsDictionary}\n />\n </Flex>\n )\n}\n"],"names":["CreatePaymentPresentation","contractors","paymentDate","contractorPayments","onPaymentDateChange","onSaveAndContinue","editModal","allowedPaymentMethods","paymentAmountsDictionary","totals","alerts","payrollBlockers","onViewBlockers","isLoading","paymentSpeedDays","Button","Text","Heading","DatePicker","Alert","useComponentContext","useI18n","t","useTranslation","
|
|
1
|
+
{"version":3,"file":"CreatePaymentPresentation.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type {\n PostV1CompaniesCompanyIdContractorPaymentGroupsContractorPayments as ContractorPayments,\n PostV1CompaniesCompanyIdContractorPaymentGroupsPaymentMethod as ContractorPaymentMethod,\n} from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport type { InternalAlert } from '../types'\nimport { SetPaymentAmounts, type SetPaymentAmountsDictionary } from '../shared/SetPaymentAmounts'\nimport type { UsePaymentAmountsEditorReturn } from '../shared/usePaymentAmountsEditor'\nimport type { ApiPayrollBlocker } from '@/components/Payroll/PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '@/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts'\nimport { Flex, FlexItem } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n formatDateToStringDate,\n normalizeDateToLocal,\n normalizeToDate,\n} from '@/helpers/dateFormatting'\n\ninterface ContractorPaymentCreatePaymentPresentationProps {\n /** CSS class name applied to the root element. */\n className?: string\n contractors: Contractor[]\n contractorPayments: (ContractorPayments & { isTouched?: boolean })[]\n paymentDate: string\n onPaymentDateChange: (date: string) => void\n onSaveAndContinue: () => void\n editModal: UsePaymentAmountsEditorReturn['editModal']\n allowedPaymentMethods: ContractorPaymentMethod[]\n paymentAmountsDictionary: SetPaymentAmountsDictionary\n totals: {\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }\n alerts: Record<string, InternalAlert>\n payrollBlockers?: ApiPayrollBlocker[]\n onViewBlockers?: () => void\n isLoading: boolean\n paymentSpeedDays: number\n}\n\n/** @internal */\nexport const CreatePaymentPresentation = ({\n className,\n contractors,\n paymentDate,\n contractorPayments,\n onPaymentDateChange,\n onSaveAndContinue,\n editModal,\n allowedPaymentMethods,\n paymentAmountsDictionary,\n totals,\n alerts,\n payrollBlockers = [],\n onViewBlockers,\n isLoading,\n paymentSpeedDays,\n}: ContractorPaymentCreatePaymentPresentationProps) => {\n const { Button, Text, Heading, DatePicker, Alert } = useComponentContext()\n useI18n('Contractor.Payments.CreatePayment')\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n\n return (\n <Flex className={className} flexDirection=\"column\" gap={32}>\n <Flex justifyContent=\"flex-end\" gap={16}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {t('paymentSpeedNotice', {\n count: paymentSpeedDays,\n })}\n </Text>\n </Flex>\n <FlexItem>\n <Button onClick={onSaveAndContinue} variant=\"primary\" isLoading={isLoading}>\n {t('continueCta')}\n </Button>\n </FlexItem>\n </Flex>\n\n {payrollBlockers.length > 0 && (\n <PayrollBlockerAlerts blockers={payrollBlockers} onViewBlockersClick={onViewBlockers} />\n )}\n\n {Object.values(alerts).map(alert => (\n <Alert\n key={alert.title}\n label={alert.title}\n onDismiss={alert.onDismiss}\n status={alert.type}\n >\n {alert.content ?? null}\n </Alert>\n ))}\n\n <Flex flexDirection=\"column\" gap={8}>\n <DatePicker\n value={paymentDate ? normalizeToDate(paymentDate) : null}\n onChange={date => {\n const normalized = normalizeDateToLocal(date)\n onPaymentDateChange(normalized ? (formatDateToStringDate(normalized) ?? '') : '')\n }}\n label={t('dateLabel')}\n isRequired\n />\n </Flex>\n\n <SetPaymentAmounts\n contractors={contractors}\n contractorPayments={contractorPayments}\n totals={totals}\n allowedPaymentMethods={allowedPaymentMethods}\n editModal={editModal}\n dictionary={paymentAmountsDictionary}\n />\n </Flex>\n )\n}\n"],"names":["CreatePaymentPresentation","className","contractors","paymentDate","contractorPayments","onPaymentDateChange","onSaveAndContinue","editModal","allowedPaymentMethods","paymentAmountsDictionary","totals","alerts","payrollBlockers","onViewBlockers","isLoading","paymentSpeedDays","Button","Text","Heading","DatePicker","Alert","useComponentContext","useI18n","t","useTranslation","Flex","jsxs","jsx","FlexItem","PayrollBlockerAlerts","alert","normalizeToDate","date","normalized","normalizeDateToLocal","formatDateToStringDate","SetPaymentAmounts"],"mappings":";;;;;;;;AA6CO,MAAMA,IAA4B,CAAC;AAAA,EACxC,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,iBAAAC,IAAkB,CAAA;AAAA,EAClB,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC;AACF,MAAuD;AACrD,QAAM,EAAE,QAAAC,GAAQ,MAAAC,GAAM,SAAAC,GAAS,YAAAC,GAAY,OAAAC,EAAA,IAAUC,EAAA;AACrD,EAAAC,EAAQ,mCAAmC;AAC3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,mCAAmC;AAEhE,2BACGC,GAAA,EAAK,WAAAxB,GAAsB,eAAc,UAAS,KAAK,IACtD,UAAA;AAAA,IAAA,gBAAAyB,EAACD,GAAA,EAAK,gBAAe,YAAW,KAAK,IACnC,UAAA;AAAA,MAAA,gBAAAC,EAACD,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,QAAA,gBAAAE,EAACT,GAAA,EAAQ,IAAG,MAAM,UAAAK,EAAE,OAAO,GAAE;AAAA,QAC7B,gBAAAI,EAACV,GAAA,EAAK,SAAQ,cACX,YAAE,sBAAsB;AAAA,UACvB,OAAOF;AAAA,QAAA,CACR,EAAA,CACH;AAAA,MAAA,GACF;AAAA,MACA,gBAAAY,EAACC,GAAA,EACC,UAAA,gBAAAD,EAACX,GAAA,EAAO,SAASV,GAAmB,SAAQ,WAAU,WAAAQ,GACnD,UAAAS,EAAE,aAAa,EAAA,CAClB,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IAECX,EAAgB,SAAS,KACxB,gBAAAe,EAACE,KAAqB,UAAUjB,GAAiB,qBAAqBC,GAAgB;AAAA,IAGvF,OAAO,OAAOF,CAAM,EAAE,IAAI,CAAAmB,MACzB,gBAAAH;AAAA,MAACP;AAAA,MAAA;AAAA,QAEC,OAAOU,EAAM;AAAA,QACb,WAAWA,EAAM;AAAA,QACjB,QAAQA,EAAM;AAAA,QAEb,YAAM,WAAW;AAAA,MAAA;AAAA,MALbA,EAAM;AAAA,IAAA,CAOd;AAAA,IAED,gBAAAH,EAACF,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA,gBAAAE;AAAA,MAACR;AAAA,MAAA;AAAA,QACC,OAAOhB,IAAc4B,EAAgB5B,CAAW,IAAI;AAAA,QACpD,UAAU,CAAA6B,MAAQ;AAChB,gBAAMC,IAAaC,EAAqBF,CAAI;AAC5C,UAAA3B,EAAoB4B,IAAcE,EAAuBF,CAAU,KAAK,KAAM,EAAE;AAAA,QAClF;AAAA,QACA,OAAOV,EAAE,WAAW;AAAA,QACpB,YAAU;AAAA,MAAA;AAAA,IAAA,GAEd;AAAA,IAEA,gBAAAI;AAAA,MAACS;AAAA,MAAA;AAAA,QACC,aAAAlC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAAM;AAAA,QACA,uBAAAF;AAAA,QACA,WAAAD;AAAA,QACA,YAAYE;AAAA,MAAA;AAAA,IAAA;AAAA,EACd,GACF;AAEJ;"}
|