@gusto/embedded-react-sdk 0.56.7 → 0.57.1
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 +60 -0
- package/README.md +1 -1
- package/dist/components/Base/Base.js +3 -2
- package/dist/components/Base/Base.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.js +44 -42
- package/dist/components/Common/DataView/DataCards/DataCards.js.map +1 -1
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js +17 -15
- package/dist/components/Common/DataView/DataCards/DataCards.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Input/Input.js +35 -32
- package/dist/components/Common/UI/Input/Input.js.map +1 -1
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +8 -6
- package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +10 -8
- package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +6 -3
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +8 -6
- package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +6 -3
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/TitleSelect.js +11 -10
- package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +8 -5
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +9 -8
- package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +6 -3
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js +12 -10
- package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +13 -11
- package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +7 -5
- package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +6 -3
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/FederalTaxes/Actions.js +9 -7
- package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +11 -8
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Actions.js +7 -5
- package/dist/components/Company/Industry/Actions.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +9 -6
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/Edit.js +12 -10
- package/dist/components/Company/Industry/Edit.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/Actions.js +10 -8
- package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +6 -3
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/Actions.js +8 -6
- package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/List.js +13 -11
- package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +6 -3
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +6 -3
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js +70 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js +30 -32
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentScheduleStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js +35 -27
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js +52 -31
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js +106 -66
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js +36 -30
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/payScheduleAssignmentStateMachine.js.map +1 -1
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js +7 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js +83 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.js.map +1 -0
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js +46 -18
- package/dist/components/Company/PaySchedule/management/PayScheduleOverview.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +7 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +96 -69
- package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +6 -3
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +8 -6
- package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +6 -3
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +6 -3
- package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/shared/requirementSetError.js +27 -10
- package/dist/components/Company/StateTaxes/shared/requirementSetError.js.map +1 -1
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js +77 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js +94 -0
- package/dist/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js +26 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js +25 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js +33 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js +55 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js +153 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.js.map +1 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js +14 -0
- package/dist/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.module.scss.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js +16 -0
- package/dist/components/Company/TaxPayments/shared/payrollLookupWindow.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js +34 -0
- package/dist/components/Company/TaxPayments/shared/taxPaymentStatus.js.map +1 -0
- package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js +30 -0
- package/dist/components/Company/TaxPayments/shared/useAllTaxPayments.js.map +1 -0
- package/dist/components/Company/exports/companyManagement.js +10 -4
- package/dist/components/Company/exports/companyManagement.js.map +1 -1
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +17 -16
- package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +9 -8
- package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +8 -6
- package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +27 -26
- package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Contractor/Profile/management/ProfileEditForm.js +11 -11
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +13 -12
- package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +13 -12
- package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +8 -6
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +6 -3
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +24 -23
- package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +4 -3
- package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +4 -3
- package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +24 -22
- package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +9 -8
- package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +15 -14
- package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
- package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -1
- package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +1 -1
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js +13 -13
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +8 -7
- package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +8 -7
- package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +42 -34
- package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +16 -14
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +8 -6
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +11 -9
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js +113 -111
- package/dist/components/Payroll/PayrollEditEmployee/shared/usePayrollEditEmployeeForm/payrollEditEmployeeHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +60 -52
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +27 -31
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +23 -18
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.js +31 -35
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +204 -179
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js +8 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.module.scss.js.map +1 -0
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js +4 -4
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/PrintChecksForm.js.map +1 -1
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js +50 -41
- package/dist/components/Payroll/PrintChecks/PrintChecksForm/useGenerationPoll.js.map +1 -1
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js +5 -9
- package/dist/components/Payroll/TransitionPayroll/useResolveTransitionPayroll.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js +164 -154
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js +9 -5
- package/dist/components/Payroll/UNSTABLE_PayrollEditEmployee/UNSTABLE_PayrollEditEmployee.module.scss.js.map +1 -1
- package/dist/components/Payroll/helpers.js +91 -84
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.js +16 -13
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +4 -2
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +8 -6
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +30 -28
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/contexts/ApiProvider/ApiProvider.js +19 -18
- package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
- package/dist/contexts/ApiProvider/createSdkQueryClient.js +4 -3
- package/dist/contexts/ApiProvider/createSdkQueryClient.js.map +1 -1
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js +36 -0
- package/dist/contexts/ApiProvider/payrollOffCycleReasonEnumHook.js.map +1 -0
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +4 -2
- package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
- package/dist/contexts/ObservabilityProvider/sanitization.js +98 -47
- package/dist/contexts/ObservabilityProvider/sanitization.js.map +1 -1
- package/dist/contexts/UnstableFeaturesProvider/useUnstableFeature.js.map +1 -1
- package/dist/helpers/validations.js +1 -1
- package/dist/helpers/validations.js.map +1 -1
- package/dist/i18n/I18n.js +2 -0
- package/dist/i18n/I18n.js.map +1 -1
- package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
- package/dist/i18n/en/Company.Management.PaySchedule.json.js +24 -14
- package/dist/i18n/en/Company.Management.PaySchedule.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js +12 -10
- package/dist/i18n/en/Company.Management.PayScheduleAssignment.json.js.map +1 -1
- package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js +26 -0
- package/dist/i18n/en/Company.Management.TaxPaymentDetail.json.js.map +1 -0
- package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js +48 -0
- package/dist/i18n/en/Company.Management.TaxPaymentsList.json.js.map +1 -0
- package/dist/i18n/en/Company.StateTaxes.json.js +1 -1
- package/dist/i18n/en/Payroll.PayrollOverview.json.js +42 -36
- package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +10 -8
- package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +14 -12
- package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +15 -13
- package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -10
- package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js +16 -14
- package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js +10 -8
- package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
- package/dist/shared/constants.js +62 -56
- package/dist/shared/constants.js.map +1 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentCompensationStepPresentation.d.ts +15 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/AssignmentTypeStepPresentation.d.ts +3 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignment.d.ts +7 -3
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/PayScheduleAssignmentComponents.d.ts +20 -4
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/scheduleLabel.d.ts +3 -0
- package/dist/src/components/Company/PaySchedule/management/PayScheduleAssignment/usePayScheduleAssignment.d.ts +10 -1
- package/dist/src/components/Company/PaySchedule/management/PayScheduleCompensationOverviewPresentation.d.ts +25 -0
- package/dist/src/components/Company/StateTaxes/shared/requirementSetError.d.ts +18 -5
- package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetail.d.ts +31 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentDetail/TaxPaymentDetailPresentation.d.ts +19 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlow.d.ts +42 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/TaxPaymentsFlowComponents.d.ts +20 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsFlow/taxPaymentsStateMachine.d.ts +10 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsList.d.ts +28 -0
- package/dist/src/components/Company/TaxPayments/TaxPaymentsList/TaxPaymentsListPresentation.d.ts +33 -0
- package/dist/src/components/Company/TaxPayments/index.d.ts +6 -0
- package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.d.ts +29 -0
- package/dist/src/components/Company/TaxPayments/shared/payrollLookupWindow.test.d.ts +1 -0
- package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.d.ts +62 -0
- package/dist/src/components/Company/TaxPayments/shared/taxPaymentStatus.test.d.ts +1 -0
- package/dist/src/components/Company/TaxPayments/shared/useAllTaxPayments.d.ts +30 -0
- package/dist/src/components/Company/exports/companyManagement.d.ts +2 -0
- package/dist/src/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.test.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollConfiguration/__fixtures__/payrollConfigurationMocks.d.ts +6 -1
- package/dist/src/components/Payroll/PayrollFlow/PayrollFlow.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollLanding/PayrollLanding.d.ts +1 -0
- package/dist/src/components/Payroll/PayrollOverview/PayrollOverview.d.ts +9 -3
- package/dist/src/components/Payroll/helpers.d.ts +14 -18
- package/dist/src/contexts/ApiProvider/createSdkQueryClient.d.ts +2 -0
- package/dist/src/contexts/ApiProvider/createSdkQueryClient.test.d.ts +1 -0
- package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.d.ts +14 -0
- package/dist/src/contexts/ApiProvider/payrollOffCycleReasonEnumHook.test.d.ts +1 -0
- package/dist/src/contexts/ObservabilityProvider/sanitization.d.ts +8 -17
- package/dist/src/contexts/ObservabilityProvider/useSanitizedObservability.test.d.ts +1 -0
- package/dist/src/contexts/UnstableFeaturesProvider/useUnstableFeature.d.ts +2 -0
- package/dist/src/helpers/validations.test.d.ts +1 -0
- package/dist/src/i18n/types.d.ts +192 -4
- package/dist/src/models/external.d.ts +9 -6
- package/dist/src/shared/constants.d.ts +18 -0
- package/dist/src/types/observability.d.ts +59 -20
- package/dist/style.css +1 -1
- package/docs/guides/endpoint-inventory.json +48 -0
- package/package.json +34 -31
package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js
CHANGED
|
@@ -9,13 +9,16 @@ import "@gusto/embedded-api/models/errors/gustoembeddederror";
|
|
|
9
9
|
import "@gusto/embedded-api/models/errors/sdkvalidationerror";
|
|
10
10
|
import "@gusto/embedded-api/models/errors/unprocessableentityerror";
|
|
11
11
|
import "@gusto/embedded-api/models/errors/httpclienterrors";
|
|
12
|
+
import "dompurify";
|
|
13
|
+
import "../../../../../../contexts/LocaleProvider/useLocale.js";
|
|
12
14
|
import "../../../../../../shared/constants.js";
|
|
15
|
+
import "classnames";
|
|
13
16
|
import "../../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
14
17
|
import "../../../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
|
|
15
18
|
import { createCompoundContext as t } from "../../../../../Base/createCompoundContext.js";
|
|
16
|
-
const [
|
|
19
|
+
const [P, b] = t("DocumentListContext");
|
|
17
20
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
b as DocumentListProvider,
|
|
22
|
+
P as useDocumentList
|
|
20
23
|
};
|
|
21
24
|
//# sourceMappingURL=useDocumentList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDocumentList.js","sources":["../../../../../../../src/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.ts"],"sourcesContent":["import type { Form } from '@gusto/embedded-api/models/components/form'\nimport { createCompoundContext } from '@/components/Base'\n\ntype DocumentListContextType = {\n employeeForms: Form[]\n hasSignedAllForms: boolean\n handleContinue: () => void\n handleRequestFormToSign: (form: Form) => void\n documentListError: Error | null\n formToSign?: Form\n}\n\nconst [useDocumentList, DocumentListProvider] =\n createCompoundContext<DocumentListContextType>('DocumentListContext')\nexport { useDocumentList, DocumentListProvider }\n"],"names":["useDocumentList","DocumentListProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;;;;AAYA,MAAM,CAACA,GAAiBC,CAAoB,IAC1CC,EAA+C,qBAAqB;"}
|
|
@@ -1,72 +1,73 @@
|
|
|
1
|
-
import { state as a, transition as
|
|
2
|
-
import { DashboardFlowContextual as
|
|
1
|
+
import { state as a, transition as t, reduce as n } from "robot3";
|
|
2
|
+
import { DashboardFlowContextual as i, TerminationFlowContextual as m, OnboardingExecutionFlowContextual as s, EmployeeListContextual as _ } from "./EmployeeListFlowComponents.js";
|
|
3
3
|
import { componentEvents as e } from "../../../shared/constants.js";
|
|
4
|
-
const
|
|
4
|
+
const L = {
|
|
5
5
|
type: "minimal",
|
|
6
6
|
back: {
|
|
7
7
|
labelKey: "backToListCta",
|
|
8
8
|
namespace: "Employee.ManagementEmployeeList",
|
|
9
9
|
event: e.EMPLOYEE_RETURN_TO_LIST
|
|
10
10
|
}
|
|
11
|
-
},
|
|
11
|
+
}, o = n(
|
|
12
12
|
(E) => ({
|
|
13
13
|
...E,
|
|
14
|
-
component:
|
|
14
|
+
component: _,
|
|
15
15
|
header: null,
|
|
16
16
|
employeeId: void 0
|
|
17
17
|
})
|
|
18
|
-
),
|
|
18
|
+
), p = {
|
|
19
19
|
list: a(
|
|
20
|
-
|
|
20
|
+
t(
|
|
21
21
|
e.EMPLOYEE_UPDATE,
|
|
22
22
|
"dashboard",
|
|
23
23
|
n(
|
|
24
24
|
(E, l) => ({
|
|
25
25
|
...E,
|
|
26
|
-
component:
|
|
27
|
-
header:
|
|
26
|
+
component: i,
|
|
27
|
+
header: L,
|
|
28
28
|
employeeId: l.payload.employeeId
|
|
29
29
|
})
|
|
30
30
|
)
|
|
31
31
|
),
|
|
32
|
-
|
|
32
|
+
t(
|
|
33
33
|
e.EMPLOYEE_DISMISS,
|
|
34
34
|
"terminate",
|
|
35
35
|
n(
|
|
36
36
|
(E, l) => ({
|
|
37
37
|
...E,
|
|
38
38
|
component: m,
|
|
39
|
-
header:
|
|
39
|
+
header: L,
|
|
40
40
|
employeeId: l.payload.employeeId
|
|
41
41
|
})
|
|
42
42
|
)
|
|
43
43
|
),
|
|
44
|
-
|
|
44
|
+
t(
|
|
45
45
|
e.EMPLOYEE_CREATE,
|
|
46
46
|
"onboard",
|
|
47
47
|
n((E) => ({
|
|
48
48
|
...E,
|
|
49
|
-
component:
|
|
50
|
-
header:
|
|
49
|
+
component: s,
|
|
50
|
+
header: L
|
|
51
51
|
}))
|
|
52
52
|
)
|
|
53
53
|
),
|
|
54
54
|
dashboard: a(
|
|
55
|
-
|
|
55
|
+
t(e.EMPLOYEE_RETURN_TO_LIST, "list", o)
|
|
56
56
|
),
|
|
57
57
|
terminate: a(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
t(e.EMPLOYEE_RETURN_TO_LIST, "list", o),
|
|
59
|
+
t(e.PAYROLL_EXIT_FLOW, "list", o),
|
|
60
|
+
t(e.RUN_PAYROLL_CANCELLED, "list", o),
|
|
61
|
+
t(e.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST, "list", o),
|
|
62
|
+
t(e.CANCEL, "list", o)
|
|
62
63
|
),
|
|
63
64
|
onboard: a(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
t(e.EMPLOYEE_RETURN_TO_LIST, "list", o),
|
|
66
|
+
t(e.EMPLOYEES_LIST, "list", o),
|
|
67
|
+
t(e.CANCEL, "list", o)
|
|
67
68
|
)
|
|
68
69
|
};
|
|
69
70
|
export {
|
|
70
|
-
|
|
71
|
+
p as employeeListStateMachine
|
|
71
72
|
};
|
|
72
73
|
//# sourceMappingURL=employeeListStateMachine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"employeeListStateMachine.js","sources":["../../../../src/components/Employee/EmployeeListFlow/employeeListStateMachine.ts"],"sourcesContent":["import { transition, reduce, state } from 'robot3'\nimport {\n DashboardFlowContextual,\n EmployeeListContextual,\n OnboardingExecutionFlowContextual,\n TerminationFlowContextual,\n type EmployeeListFlowContextInterface,\n} from './EmployeeListFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { FlowHeaderConfig } from '@/components/Flow/useFlow'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: { employeeId: string }\n [componentEvents.EMPLOYEE_DISMISS]: { employeeId: string }\n}\n\nconst backToListHeader: FlowHeaderConfig = {\n type: 'minimal',\n back: {\n labelKey: 'backToListCta',\n namespace: 'Employee.ManagementEmployeeList',\n event: componentEvents.EMPLOYEE_RETURN_TO_LIST,\n },\n}\n\nconst returnToList = reduce(\n (ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: EmployeeListContextual,\n header: null,\n employeeId: undefined,\n }),\n)\n\n/** @internal */\nexport const employeeListStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'dashboard',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: DashboardFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_DISMISS,\n 'terminate',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_DISMISS>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: TerminationFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'onboard',\n reduce((ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: OnboardingExecutionFlowContextual,\n header: backToListHeader,\n })),\n ),\n ),\n dashboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n ),\n terminate: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.PAYROLL_EXIT_FLOW, 'list', returnToList),\n transition(componentEvents.RUN_PAYROLL_CANCELLED, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n onboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.EMPLOYEES_LIST, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n}\n"],"names":["backToListHeader","componentEvents","returnToList","reduce","ctx","EmployeeListContextual","employeeListStateMachine","state","transition","ev","DashboardFlowContextual","TerminationFlowContextual","OnboardingExecutionFlowContextual"],"mappings":";;;AAiBA,MAAMA,IAAqC;AAAA,EACzC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,OAAOC,EAAgB;AAAA,EAAA;AAE3B,GAEMC,IAAeC;AAAA,EACnB,CAACC,OAA6E;AAAA,IAC5E,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,QAAQ;AAAA,IACR,YAAY;AAAA,EAAA;AAEhB,GAGaC,IAA2B;AAAA,EACtC,MAAMC;AAAA,IACJC;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWM;AAAA,UACX,QAAQV;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWO;AAAA,UACX,QAAQX;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE,EAAO,CAACC,OAA6E;AAAA,QACnF,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,QAAQZ;AAAA,MAAA,EACR;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,WAAWO;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,EAAA;AAAA,EAE1E,WAAWK;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,IACxEM,EAAWP,EAAgB,mBAAmB,QAAQC,CAAY;AAAA,IAClEM,EAAWP,EAAgB,uBAAuB,QAAQC,CAAY;AAAA,IACtEM,EAAWP,EAAgB,QAAQ,QAAQC,CAAY;AAAA,EAAA;AAAA,EAEzD,SAASK;AAAA,IACPC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,IACxEM,EAAWP,EAAgB,gBAAgB,QAAQC,CAAY;AAAA,IAC/DM,EAAWP,EAAgB,QAAQ,QAAQC,CAAY;AAAA,EAAA;AAE3D;"}
|
|
1
|
+
{"version":3,"file":"employeeListStateMachine.js","sources":["../../../../src/components/Employee/EmployeeListFlow/employeeListStateMachine.ts"],"sourcesContent":["import { transition, reduce, state } from 'robot3'\nimport {\n DashboardFlowContextual,\n EmployeeListContextual,\n OnboardingExecutionFlowContextual,\n TerminationFlowContextual,\n type EmployeeListFlowContextInterface,\n} from './EmployeeListFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\nimport type { FlowHeaderConfig } from '@/components/Flow/useFlow'\n\ntype EventPayloads = {\n [componentEvents.EMPLOYEE_UPDATE]: { employeeId: string }\n [componentEvents.EMPLOYEE_DISMISS]: { employeeId: string }\n}\n\nconst backToListHeader: FlowHeaderConfig = {\n type: 'minimal',\n back: {\n labelKey: 'backToListCta',\n namespace: 'Employee.ManagementEmployeeList',\n event: componentEvents.EMPLOYEE_RETURN_TO_LIST,\n },\n}\n\nconst returnToList = reduce(\n (ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: EmployeeListContextual,\n header: null,\n employeeId: undefined,\n }),\n)\n\n/** @internal */\nexport const employeeListStateMachine = {\n list: state<MachineTransition>(\n transition(\n componentEvents.EMPLOYEE_UPDATE,\n 'dashboard',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_UPDATE>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: DashboardFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_DISMISS,\n 'terminate',\n reduce(\n (\n ctx: EmployeeListFlowContextInterface,\n ev: MachineEventType<EventPayloads, typeof componentEvents.EMPLOYEE_DISMISS>,\n ): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: TerminationFlowContextual,\n header: backToListHeader,\n employeeId: ev.payload.employeeId,\n }),\n ),\n ),\n transition(\n componentEvents.EMPLOYEE_CREATE,\n 'onboard',\n reduce((ctx: EmployeeListFlowContextInterface): EmployeeListFlowContextInterface => ({\n ...ctx,\n component: OnboardingExecutionFlowContextual,\n header: backToListHeader,\n })),\n ),\n ),\n dashboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n ),\n terminate: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.PAYROLL_EXIT_FLOW, 'list', returnToList),\n transition(componentEvents.RUN_PAYROLL_CANCELLED, 'list', returnToList),\n transition(componentEvents.RUN_PAYROLL_NOT_CALCULATED_BACK_TO_LIST, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n onboard: state<MachineTransition>(\n transition(componentEvents.EMPLOYEE_RETURN_TO_LIST, 'list', returnToList),\n transition(componentEvents.EMPLOYEES_LIST, 'list', returnToList),\n transition(componentEvents.CANCEL, 'list', returnToList),\n ),\n}\n"],"names":["backToListHeader","componentEvents","returnToList","reduce","ctx","EmployeeListContextual","employeeListStateMachine","state","transition","ev","DashboardFlowContextual","TerminationFlowContextual","OnboardingExecutionFlowContextual"],"mappings":";;;AAiBA,MAAMA,IAAqC;AAAA,EACzC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,WAAW;AAAA,IACX,OAAOC,EAAgB;AAAA,EAAA;AAE3B,GAEMC,IAAeC;AAAA,EACnB,CAACC,OAA6E;AAAA,IAC5E,GAAGA;AAAA,IACH,WAAWC;AAAA,IACX,QAAQ;AAAA,IACR,YAAY;AAAA,EAAA;AAEhB,GAGaC,IAA2B;AAAA,EACtC,MAAMC;AAAA,IACJC;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWM;AAAA,UACX,QAAQV;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE;AAAA,QACE,CACEC,GACAK,OACsC;AAAA,UACtC,GAAGL;AAAA,UACH,WAAWO;AAAA,UACX,QAAQX;AAAA,UACR,YAAYS,EAAG,QAAQ;AAAA,QAAA;AAAA,MACzB;AAAA,IACF;AAAA,IAEFD;AAAA,MACEP,EAAgB;AAAA,MAChB;AAAA,MACAE,EAAO,CAACC,OAA6E;AAAA,QACnF,GAAGA;AAAA,QACH,WAAWQ;AAAA,QACX,QAAQZ;AAAA,MAAA,EACR;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,WAAWO;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,EAAA;AAAA,EAE1E,WAAWK;AAAA,IACTC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,IACxEM,EAAWP,EAAgB,mBAAmB,QAAQC,CAAY;AAAA,IAClEM,EAAWP,EAAgB,uBAAuB,QAAQC,CAAY;AAAA,IACtEM,EAAWP,EAAgB,yCAAyC,QAAQC,CAAY;AAAA,IACxFM,EAAWP,EAAgB,QAAQ,QAAQC,CAAY;AAAA,EAAA;AAAA,EAEzD,SAASK;AAAA,IACPC,EAAWP,EAAgB,yBAAyB,QAAQC,CAAY;AAAA,IACxEM,EAAWP,EAAgB,gBAAgB,QAAQC,CAAY;AAAA,IAC/DM,EAAWP,EAAgB,QAAQ,QAAQC,CAAY;AAAA,EAAA;AAE3D;"}
|
|
@@ -5,11 +5,12 @@ import { useFederalTaxesForm as M } from "../shared/useFederalTaxesForm/useFeder
|
|
|
5
5
|
import { useManagementFederalTaxesViewDictionary as y } from "./useViewDictionary.js";
|
|
6
6
|
import { BaseBoundaries as _, BaseLayout as g } from "../../../Base/Base.js";
|
|
7
7
|
import "../../../Base/useBase.js";
|
|
8
|
+
import "classnames";
|
|
9
|
+
import { componentEvents as c } from "../../../../shared/constants.js";
|
|
8
10
|
import { ActionsLayout as A } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
9
11
|
import { useI18n as h, useComponentDictionary as D } from "../../../../i18n/I18n.js";
|
|
10
|
-
import { componentEvents as c } from "../../../../shared/constants.js";
|
|
11
12
|
import { useComponentContext as L } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
|
-
function
|
|
13
|
+
function V({
|
|
13
14
|
FallbackComponent: n,
|
|
14
15
|
LoaderComponent: t,
|
|
15
16
|
...r
|
|
@@ -73,6 +74,6 @@ function C({
|
|
|
73
74
|
);
|
|
74
75
|
}
|
|
75
76
|
export {
|
|
76
|
-
|
|
77
|
+
V as FederalTaxesEditForm
|
|
77
78
|
};
|
|
78
79
|
//# sourceMappingURL=FederalTaxesEditForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FederalTaxesEditForm.js","sources":["../../../../../src/components/Employee/FederalTaxes/management/FederalTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useManagementFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxesEditForm}.\n *\n * @public\n */\nexport interface FederalTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n}\n\n/**\n * Standalone form for editing an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * Pair with {@link FederalTaxesCard} to route its `employee/management/federalTaxes/card/editRequested` event to this form. {@link FederalTaxes} bundles the card, this form, and the swap wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit (for example, when the form needs to render in a modal or drawer, or when the swap is driven by a router).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/federalTaxes/editForm/submitted` | Fired after the form is saved; use it to return to the card | The updated `EmployeeFederalTax` entity |\n * | `employee/management/federalTaxes/editForm/cancelled` | Fired when the user clicks Cancel; use it to return to the card | — |\n *\n * @param props - See {@link FederalTaxesEditFormProps}.\n * @returns The rendered federal taxes edit form.\n * @public\n * @group Block components\n */\nexport function FederalTaxesEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: FederalTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesEditFormRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesEditFormProps) {\n useI18n('Employee.Management.FederalTaxes')\n useComponentDictionary('Employee.Management.FederalTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.FederalTaxes')\n const Components = useComponentContext()\n const viewDictionary = useManagementFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_SUBMITTED, result.data)\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_CANCELLED)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={federalTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n"],"names":["FederalTaxesEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesEditFormRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","viewDictionary","useManagementFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","handleSubmit","result","componentEvents","handleCancel","FederalTaxesView","ActionsLayout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FederalTaxesEditForm.js","sources":["../../../../../src/components/Employee/FederalTaxes/management/FederalTaxesEditForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useManagementFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxesEditForm}.\n *\n * @public\n */\nexport interface FederalTaxesEditFormProps extends BaseComponentInterface<'Employee.Management.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n}\n\n/**\n * Standalone form for editing an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * Pair with {@link FederalTaxesCard} to route its `employee/management/federalTaxes/card/editRequested` event to this form. {@link FederalTaxes} bundles the card, this form, and the swap wiring as a single drop-in; reach for this form directly only when that orchestration is the wrong fit (for example, when the form needs to render in a modal or drawer, or when the swap is driven by a router).\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/management/federalTaxes/editForm/submitted` | Fired after the form is saved; use it to return to the card | The updated `EmployeeFederalTax` entity |\n * | `employee/management/federalTaxes/editForm/cancelled` | Fired when the user clicks Cancel; use it to return to the card | — |\n *\n * @param props - See {@link FederalTaxesEditFormProps}.\n * @returns The rendered federal taxes edit form.\n * @public\n * @group Block components\n */\nexport function FederalTaxesEditForm({\n FallbackComponent,\n LoaderComponent,\n ...props\n}: FederalTaxesEditFormProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.Management.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesEditFormRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesEditFormRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesEditFormProps) {\n useI18n('Employee.Management.FederalTaxes')\n useComponentDictionary('Employee.Management.FederalTaxes', dictionary)\n const { t } = useTranslation('Employee.Management.FederalTaxes')\n const Components = useComponentContext()\n const viewDictionary = useManagementFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_SUBMITTED, result.data)\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_FEDERAL_TAXES_EDIT_FORM_CANCELLED)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={\n <ActionsLayout>\n <Components.Button variant=\"secondary\" onClick={handleCancel}>\n {t('cancelCta')}\n </Components.Button>\n <Components.Button type=\"submit\" isLoading={federalTaxes.status.isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n }\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n"],"names":["FederalTaxesEditForm","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesEditFormRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","t","useTranslation","Components","useComponentContext","viewDictionary","useManagementFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","handleSubmit","result","componentEvents","handleCancel","FederalTaxesView","ActionsLayout"],"mappings":";;;;;;;;;;;;AA2CO,SAASA,EAAqB;AAAA,EACnC,mBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAA8B;AAC5B,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAyB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG7E;AAEA,SAASG,EAAyB;AAAA,EAChC,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAV;AACF,GAA8B;AAC5B,EAAAW,EAAQ,kCAAkC,GAC1CC,EAAuB,oCAAoCJ,CAAU;AACrE,QAAM,EAAE,GAAAK,EAAA,IAAMC,EAAe,kCAAkC,GACzDC,IAAaC,EAAA,GACbC,IAAiBC,EAAA,GAEjBC,IAAeC,EAAoB;AAAA,IACvC,YAAAf;AAAA,IACA,eAAAI;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,CAAC,WAAW,oBAAoB,eAAe,cAAc,kBAAkB;AAAA,IAAA;AAAA,EACzF,CACkC;AAEpC,MAAIU,EAAa;AACf,WACE,gBAAAjB;AAAA,MAACmB;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOF,EAAa,cAAc;AAAA,QAClC,iBAAAnB;AAAA,MAAA;AAAA,IAAA;AAKN,QAAMsB,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMJ,EAAa,QAAQ,SAAA;AAC1C,IAAKI,KAELb,EAAQc,EAAgB,uDAAuDD,EAAO,IAAI;AAAA,EAC5F,GAEME,IAAe,MAAM;AACzB,IAAAf,EAAQc,EAAgB,qDAAqD;AAAA,EAC/E;AAEA,SACE,gBAAAtB;AAAA,IAACwB;AAAA,IAAA;AAAA,MACC,cAAAP;AAAA,MACA,UAAUG;AAAA,MACV,iBAAAtB;AAAA,MACA,2BACG2B,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAzB,EAACa,EAAW,QAAX,EAAkB,SAAQ,aAAY,SAASU,GAC7C,UAAAZ,EAAE,WAAW,EAAA,CAChB;AAAA,QACA,gBAAAX,EAACa,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWI,EAAa,OAAO,WAC7D,UAAAN,EAAE,SAAS,EAAA,CACd;AAAA,MAAA,GACF;AAAA,MAEF,WAAAP;AAAA,MACA,YAAYW;AAAA,MAEX,UAAAV;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -5,11 +5,12 @@ import { useFederalTaxesForm as E } from "../shared/useFederalTaxesForm/useFeder
|
|
|
5
5
|
import { useOnboardingFederalTaxesViewDictionary as f } from "./useViewDictionary.js";
|
|
6
6
|
import { BaseBoundaries as T, BaseLayout as x } from "../../../Base/Base.js";
|
|
7
7
|
import "../../../Base/useBase.js";
|
|
8
|
+
import "classnames";
|
|
9
|
+
import { componentEvents as m } from "../../../../shared/constants.js";
|
|
8
10
|
import { ActionsLayout as F } from "../../../Common/ActionsLayout/ActionsLayout.js";
|
|
9
11
|
import { useI18n as y, useComponentDictionary as b } from "../../../../i18n/I18n.js";
|
|
10
|
-
import { componentEvents as m } from "../../../../shared/constants.js";
|
|
11
12
|
import { useComponentContext as g } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
12
|
-
function
|
|
13
|
+
function V({ FallbackComponent: t, LoaderComponent: o, ...r }) {
|
|
13
14
|
return /* @__PURE__ */ e(
|
|
14
15
|
T,
|
|
15
16
|
{
|
|
@@ -65,6 +66,6 @@ function A({ isPending: t }) {
|
|
|
65
66
|
return /* @__PURE__ */ e(F, { children: /* @__PURE__ */ e(r.Button, { type: "submit", isLoading: t, children: o("submitCta") }) });
|
|
66
67
|
}
|
|
67
68
|
export {
|
|
68
|
-
|
|
69
|
+
V as FederalTaxes
|
|
69
70
|
};
|
|
70
71
|
//# sourceMappingURL=FederalTaxes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FederalTaxes.js","sources":["../../../../../src/components/Employee/FederalTaxes/onboarding/FederalTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useOnboardingFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxes}.\n *\n * @public\n */\nexport interface FederalTaxesProps extends BaseComponentInterface<'Employee.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n /** Callback invoked when the block emits an event. See the events table on {@link FederalTaxes} for the available event types and payloads. */\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/**\n * Onboarding step for collecting an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * The federal tax record is created automatically with the employee, so this step is always in update mode. Only the revised 2020 W-4 format is supported. All fields are required by the bundled form, mirroring the IRS-form UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/federalTaxes/updated` | Fired after the form is saved | The updated `EmployeeFederalTax` entity |\n * | `employee/federalTaxes/done` | Fired after a successful save so the parent flow can advance | — |\n *\n * @param props - See {@link FederalTaxesProps}.\n * @returns The federal taxes onboarding step.\n * @public\n * @group Block components\n */\nexport function FederalTaxes({ FallbackComponent, LoaderComponent, ...props }: FederalTaxesProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesProps) {\n useI18n('Employee.FederalTaxes')\n useComponentDictionary('Employee.FederalTaxes', dictionary)\n const viewDictionary = useOnboardingFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={<ContinueAction isPending={federalTaxes.status.isPending} />}\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.FederalTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["FederalTaxes","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","viewDictionary","useOnboardingFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","FederalTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":"
|
|
1
|
+
{"version":3,"file":"FederalTaxes.js","sources":["../../../../../src/components/Employee/FederalTaxes/onboarding/FederalTaxes.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FederalTaxesView } from '../shared/FederalTaxesView'\nimport {\n useFederalTaxesForm,\n type UseFederalTaxesFormProps,\n type FederalTaxesFormData,\n} from '../shared/useFederalTaxesForm'\nimport { useOnboardingFederalTaxesViewDictionary } from './useViewDictionary'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { ActionsLayout } from '@/components/Common'\nimport { useI18n, useComponentDictionary } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\n/**\n * Props for {@link FederalTaxes}.\n *\n * @public\n */\nexport interface FederalTaxesProps extends BaseComponentInterface<'Employee.FederalTaxes'> {\n /** The associated employee identifier. */\n employeeId: string\n /** Pre-fill form values. Server data takes precedence when the employee already has values on file. */\n defaultValues?: Partial<FederalTaxesFormData>\n /** Callback invoked when the block emits an event. See the events table on {@link FederalTaxes} for the available event types and payloads. */\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/**\n * Onboarding step for collecting an employee's federal tax (W-4) withholdings — filing status, multiple-jobs flag, dependents, other income, deductions, and extra withholding.\n *\n * @remarks\n * The federal tax record is created automatically with the employee, so this step is always in update mode. Only the revised 2020 W-4 format is supported. All fields are required by the bundled form, mirroring the IRS-form UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `employee/federalTaxes/updated` | Fired after the form is saved | The updated `EmployeeFederalTax` entity |\n * | `employee/federalTaxes/done` | Fired after a successful save so the parent flow can advance | — |\n *\n * @param props - See {@link FederalTaxesProps}.\n * @returns The federal taxes onboarding step.\n * @public\n * @group Block components\n */\nexport function FederalTaxes({ FallbackComponent, LoaderComponent, ...props }: FederalTaxesProps) {\n return (\n <BaseBoundaries\n componentName=\"Employee.FederalTaxes\"\n FallbackComponent={FallbackComponent}\n LoaderComponent={LoaderComponent}\n >\n <FederalTaxesRoot LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction FederalTaxesRoot({\n employeeId,\n className,\n children,\n dictionary,\n defaultValues,\n onEvent,\n LoaderComponent,\n}: FederalTaxesProps) {\n useI18n('Employee.FederalTaxes')\n useComponentDictionary('Employee.FederalTaxes', dictionary)\n const viewDictionary = useOnboardingFederalTaxesViewDictionary()\n\n const federalTaxes = useFederalTaxesForm({\n employeeId,\n defaultValues,\n optionalFieldsToRequire: {\n update: ['twoJobs', 'dependentsAmount', 'otherIncome', 'deductions', 'extraWithholding'],\n },\n } satisfies UseFederalTaxesFormProps)\n\n if (federalTaxes.isLoading) {\n return (\n <BaseLayout\n isLoading\n error={federalTaxes.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\n }\n\n const handleSubmit = async () => {\n const result = await federalTaxes.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, result.data)\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_DONE)\n }\n\n return (\n <FederalTaxesView\n federalTaxes={federalTaxes}\n onSubmit={handleSubmit}\n LoaderComponent={LoaderComponent}\n actions={<ContinueAction isPending={federalTaxes.status.isPending} />}\n className={className}\n dictionary={viewDictionary}\n >\n {children}\n </FederalTaxesView>\n )\n}\n\nfunction ContinueAction({ isPending }: { isPending: boolean }) {\n const { t } = useTranslation('Employee.FederalTaxes')\n const Components = useComponentContext()\n\n return (\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('submitCta')}\n </Components.Button>\n </ActionsLayout>\n )\n}\n"],"names":["FederalTaxes","FallbackComponent","LoaderComponent","props","jsx","BaseBoundaries","FederalTaxesRoot","employeeId","className","children","dictionary","defaultValues","onEvent","useI18n","useComponentDictionary","viewDictionary","useOnboardingFederalTaxesViewDictionary","federalTaxes","useFederalTaxesForm","BaseLayout","FederalTaxesView","result","componentEvents","ContinueAction","isPending","t","useTranslation","Components","useComponentContext","ActionsLayout"],"mappings":";;;;;;;;;;;;AA6CO,SAASA,EAAa,EAAE,mBAAAC,GAAmB,iBAAAC,GAAiB,GAAGC,KAA4B;AAChG,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,eAAc;AAAA,MACd,mBAAAJ;AAAA,MACA,iBAAAC;AAAA,MAEA,UAAA,gBAAAE,EAACE,GAAA,EAAiB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAGrE;AAEA,SAASG,EAAiB;AAAA,EACxB,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAV;AACF,GAAsB;AACpB,EAAAW,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBJ,CAAU;AAC1D,QAAMK,IAAiBC,EAAA,GAEjBC,IAAeC,EAAoB;AAAA,IACvC,YAAAX;AAAA,IACA,eAAAI;AAAA,IACA,yBAAyB;AAAA,MACvB,QAAQ,CAAC,WAAW,oBAAoB,eAAe,cAAc,kBAAkB;AAAA,IAAA;AAAA,EACzF,CACkC;AAEpC,SAAIM,EAAa,YAEb,gBAAAb;AAAA,IAACe;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,OAAOF,EAAa,cAAc;AAAA,MAClC,iBAAAf;AAAA,IAAA;AAAA,EAAA,IAcJ,gBAAAE;AAAA,IAACgB;AAAA,IAAA;AAAA,MACC,cAAAH;AAAA,MACA,UAXiB,YAAY;AAC/B,cAAMI,IAAS,MAAMJ,EAAa,QAAQ,SAAA;AAC1C,QAAKI,MAELT,EAAQU,EAAgB,gCAAgCD,EAAO,IAAI,GACnET,EAAQU,EAAgB,2BAA2B;AAAA,MACrD;AAAA,MAMI,iBAAApB;AAAA,MACA,SAAS,gBAAAE,EAACmB,GAAA,EAAe,WAAWN,EAAa,OAAO,WAAW;AAAA,MACnE,WAAAT;AAAA,MACA,YAAYO;AAAA,MAEX,UAAAN;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,SAASc,EAAe,EAAE,WAAAC,KAAqC;AAC7D,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,uBAAuB,GAC9CC,IAAaC,EAAA;AAEnB,SACE,gBAAAxB,EAACyB,GAAA,EACC,UAAA,gBAAAzB,EAACuB,EAAW,QAAX,EAAkB,MAAK,UAAS,WAAWH,GACzC,UAAAC,EAAE,WAAW,GAChB,GACF;AAEJ;"}
|
|
@@ -1,45 +1,47 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as r, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as g } from "react-i18next";
|
|
3
3
|
import { useBankForm as y } from "../useBankForm/useBankForm.js";
|
|
4
|
+
import "classnames";
|
|
5
|
+
import "../../../../../shared/constants.js";
|
|
4
6
|
import { ActionsLayout as N } from "../../../../Common/ActionsLayout/ActionsLayout.js";
|
|
5
7
|
import { Form as f } from "../../../../Common/Form/Form.js";
|
|
6
8
|
import { BaseLayout as u } from "../../../../Base/Base.js";
|
|
7
9
|
import { SDKFormProvider as B } from "../../../../../partner-hook-utils/form/SDKFormProvider.js";
|
|
8
10
|
import { useComponentContext as v } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
11
|
import { useI18n as E, useComponentDictionary as L } from "../../../../../i18n/I18n.js";
|
|
10
|
-
function
|
|
12
|
+
function S({
|
|
11
13
|
employeeId: c,
|
|
12
14
|
dictionary: l,
|
|
13
15
|
onSaved: d,
|
|
14
16
|
onCancel: i,
|
|
15
17
|
LoaderComponent: a,
|
|
16
|
-
...
|
|
18
|
+
...p
|
|
17
19
|
}) {
|
|
18
20
|
E("Employee.BankFormBody"), L("Employee.BankFormBody", l);
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
21
|
-
return /* @__PURE__ */
|
|
21
|
+
const t = y({ employeeId: c, ...p }), { t: o } = g("Employee.BankFormBody"), m = v();
|
|
22
|
+
if (t.isLoading)
|
|
23
|
+
return /* @__PURE__ */ r(
|
|
22
24
|
u,
|
|
23
25
|
{
|
|
24
26
|
isLoading: !0,
|
|
25
|
-
error:
|
|
27
|
+
error: t.errorHandling.errors,
|
|
26
28
|
LoaderComponent: a
|
|
27
29
|
}
|
|
28
30
|
);
|
|
29
|
-
const { Fields:
|
|
30
|
-
const e = await
|
|
31
|
+
const { Fields: n } = t.form, b = async () => {
|
|
32
|
+
const e = await t.actions.onSubmit();
|
|
31
33
|
e && d(e.data);
|
|
32
34
|
};
|
|
33
|
-
return /* @__PURE__ */
|
|
34
|
-
/* @__PURE__ */
|
|
35
|
-
|
|
35
|
+
return /* @__PURE__ */ r(u, { error: t.errorHandling.errors, LoaderComponent: a, children: /* @__PURE__ */ r(B, { formHookResult: t, children: /* @__PURE__ */ s(f, { onSubmit: b, children: [
|
|
36
|
+
/* @__PURE__ */ r(
|
|
37
|
+
n.Name,
|
|
36
38
|
{
|
|
37
39
|
label: o("nameLabel"),
|
|
38
40
|
validationMessages: { REQUIRED: o("validations.accountName") }
|
|
39
41
|
}
|
|
40
42
|
),
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
|
|
43
|
+
/* @__PURE__ */ r(
|
|
44
|
+
n.RoutingNumber,
|
|
43
45
|
{
|
|
44
46
|
label: o("routingNumberLabel"),
|
|
45
47
|
description: o("routingNumberDescription"),
|
|
@@ -49,8 +51,8 @@ function A({
|
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
53
|
),
|
|
52
|
-
/* @__PURE__ */
|
|
53
|
-
|
|
54
|
+
/* @__PURE__ */ r(
|
|
55
|
+
n.AccountNumber,
|
|
54
56
|
{
|
|
55
57
|
label: o("accountNumberLabel"),
|
|
56
58
|
validationMessages: {
|
|
@@ -59,20 +61,20 @@ function A({
|
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
),
|
|
62
|
-
/* @__PURE__ */
|
|
63
|
-
|
|
64
|
+
/* @__PURE__ */ r(
|
|
65
|
+
n.AccountType,
|
|
64
66
|
{
|
|
65
67
|
label: o("accountTypeLabel"),
|
|
66
68
|
getOptionLabel: (e) => o(e === "Checking" ? "accountTypeChecking" : "accountTypeSavings")
|
|
67
69
|
}
|
|
68
70
|
),
|
|
69
|
-
/* @__PURE__ */
|
|
70
|
-
i && /* @__PURE__ */
|
|
71
|
-
/* @__PURE__ */
|
|
71
|
+
/* @__PURE__ */ s(N, { children: [
|
|
72
|
+
i && /* @__PURE__ */ r(m.Button, { variant: "secondary", type: "button", onClick: i, children: o("cancelCta") }),
|
|
73
|
+
/* @__PURE__ */ r(m.Button, { type: "submit", isLoading: t.status.isPending, children: o("saveCta") })
|
|
72
74
|
] })
|
|
73
75
|
] }) }) });
|
|
74
76
|
}
|
|
75
77
|
export {
|
|
76
|
-
|
|
78
|
+
S as BankFormBody
|
|
77
79
|
};
|
|
78
80
|
//# 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'\nimport type { LoaderComponentType } from '@/components/Base'\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 LoaderComponent?: LoaderComponentType\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 LoaderComponent,\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 (\n <BaseLayout\n isLoading\n error={bankForm.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\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} LoaderComponent={LoaderComponent}>\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","LoaderComponent","hookProps","useI18n","useComponentDictionary","bankForm","useBankForm","t","useTranslation","Components","useComponentContext","jsx","BaseLayout","Fields","handleSubmit","result","SDKFormProvider","jsxs","Form","type","ActionsLayout"],"mappings":"
|
|
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'\nimport type { LoaderComponentType } from '@/components/Base'\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 LoaderComponent?: LoaderComponentType\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 LoaderComponent,\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 (\n <BaseLayout\n isLoading\n error={bankForm.errorHandling.errors}\n LoaderComponent={LoaderComponent}\n />\n )\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} LoaderComponent={LoaderComponent}>\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","LoaderComponent","hookProps","useI18n","useComponentDictionary","bankForm","useBankForm","t","useTranslation","Components","useComponentContext","jsx","BaseLayout","Fields","handleSubmit","result","SDKFormProvider","jsxs","Form","type","ActionsLayout"],"mappings":";;;;;;;;;;;AAuCO,SAASA,EAAa;AAAA,EAC3B,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,GAAGC;AACL,GAAsB;AACpB,EAAAC,EAAQ,uBAAuB,GAC/BC,EAAuB,yBAAyBN,CAAU;AAC1D,QAAMO,IAAWC,EAAY,EAAE,YAAAT,GAAY,GAAGK,GAAW,GACnD,EAAE,GAAAK,EAAA,IAAMC,EAAe,uBAAuB,GAC9CC,IAAaC,EAAA;AAEnB,MAAIL,EAAS;AACX,WACE,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAS;AAAA,QACT,OAAOP,EAAS,cAAc;AAAA,QAC9B,iBAAAJ;AAAA,MAAA;AAAA,IAAA;AAKN,QAAM,EAAE,QAAAY,MAAWR,EAAS,MAEtBS,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAMV,EAAS,QAAQ,SAAA;AACtC,IAAIU,KACFhB,EAAQgB,EAAO,IAAI;AAAA,EAEvB;AAEA,SACE,gBAAAJ,EAACC,GAAA,EAAW,OAAOP,EAAS,cAAc,QAAQ,iBAAAJ,GAChD,UAAA,gBAAAU,EAACK,GAAA,EAAgB,gBAAgBX,GAC/B,UAAA,gBAAAY,EAACC,GAAA,EAAK,UAAUJ,GACd,UAAA;AAAA,IAAA,gBAAAH;AAAA,MAACE,EAAO;AAAA,MAAP;AAAA,QACC,OAAON,EAAE,WAAW;AAAA,QACpB,oBAAoB,EAAE,UAAUA,EAAE,yBAAyB,EAAA;AAAA,MAAE;AAAA,IAAA;AAAA,IAE/D,gBAAAI;AAAA,MAACE,EAAO;AAAA,MAAP;AAAA,QACC,OAAON,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,gBAAAI;AAAA,MAACE,EAAO;AAAA,MAAP;AAAA,QACC,OAAON,EAAE,oBAAoB;AAAA,QAC7B,oBAAoB;AAAA,UAClB,UAAUA,EAAE,2BAA2B;AAAA,UACvC,wBAAwBA,EAAE,iCAAiC;AAAA,QAAA;AAAA,MAC7D;AAAA,IAAA;AAAA,IAEF,gBAAAI;AAAA,MAACE,EAAO;AAAA,MAAP;AAAA,QACC,OAAON,EAAE,kBAAkB;AAAA,QAC3B,gBAAgB,CAACY,MACOZ,EAAtBY,MAAS,aAAe,wBAA2B,oBAAN;AAAA,MAA0B;AAAA,IAAA;AAAA,sBAG1EC,GAAA,EACE,UAAA;AAAA,MAAApB,KACC,gBAAAW,EAACF,EAAW,QAAX,EAAkB,SAAQ,aAAY,MAAK,UAAS,SAAST,GAC3D,UAAAO,EAAE,WAAW,EAAA,CAChB;AAAA,MAEF,gBAAAI,EAACF,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;"}
|
|
@@ -2,8 +2,10 @@ import { jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState as L, useCallback as k } from "react";
|
|
3
3
|
import { useTranslation as D } from "react-i18next";
|
|
4
4
|
import { useErrorBoundary as _ } from "react-error-boundary";
|
|
5
|
+
import "classnames";
|
|
6
|
+
import { componentEvents as E } from "../../../../../shared/constants.js";
|
|
5
7
|
import { Loading as T } from "../../../../Common/Loading/Loading.js";
|
|
6
|
-
import { EmptyData as
|
|
8
|
+
import { EmptyData as w } from "../../../../Common/EmptyData/EmptyData.js";
|
|
7
9
|
import { BaseBoundaries as O, BaseLayout as M } from "../../../../Base/Base.js";
|
|
8
10
|
import { useComponentContext as S } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
9
11
|
import { openPdfInNewTab as U } from "../../../../../helpers/openPdfInNewTab.js";
|
|
@@ -12,13 +14,12 @@ import { usePaymentMethodList as H } from "../../../PaymentMethod/shared/usePaym
|
|
|
12
14
|
import { formatDateLongWithYear as R } from "../../../../../helpers/dateFormatting.js";
|
|
13
15
|
import W from "../../../../../hooks/useNumberFormatter.js";
|
|
14
16
|
import { useI18n as j } from "../../../../../i18n/I18n.js";
|
|
15
|
-
import { componentEvents as w } from "../../../../../shared/constants.js";
|
|
16
17
|
import F from "../../../../../assets/icons/download-cloud.svg.js";
|
|
17
18
|
import { usePaystubsList as V } from "../../shared/usePaystubsList/usePaystubsList.js";
|
|
18
19
|
import { useNonce as v } from "../../../../../contexts/NonceProvider/useNonce.js";
|
|
19
20
|
import { useDataView as G } from "../../../../Common/DataView/useDataView.js";
|
|
20
21
|
import { DataView as Q } from "../../../../Common/DataView/DataView.js";
|
|
21
|
-
function
|
|
22
|
+
function ft({ LoaderComponent: a, ...i }) {
|
|
22
23
|
return /* @__PURE__ */ o(O, { componentName: "Employee.Management.Paystubs", LoaderComponent: a, children: /* @__PURE__ */ o(q, { LoaderComponent: a, ...i }) });
|
|
23
24
|
}
|
|
24
25
|
function q({ employeeId: a, onEvent: i, LoaderComponent: s }) {
|
|
@@ -48,7 +49,7 @@ function z({
|
|
|
48
49
|
() => /* @__PURE__ */ new Set()
|
|
49
50
|
), { payStubs: h } = s.data, C = s.pagination.payStubs, N = l.isLoading ? void 0 : l.data.paymentMethod, B = k(
|
|
50
51
|
async (t) => {
|
|
51
|
-
i(
|
|
52
|
+
i(E.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {
|
|
52
53
|
employeeId: a,
|
|
53
54
|
payrollUuid: t
|
|
54
55
|
});
|
|
@@ -63,7 +64,7 @@ function z({
|
|
|
63
64
|
r.close();
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
|
-
r.navigate(n.data), i(
|
|
67
|
+
r.navigate(n.data), i(E.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {
|
|
67
68
|
employeeId: a,
|
|
68
69
|
payrollUuid: t
|
|
69
70
|
});
|
|
@@ -129,18 +130,18 @@ function z({
|
|
|
129
130
|
}
|
|
130
131
|
);
|
|
131
132
|
},
|
|
132
|
-
emptyState: () => /* @__PURE__ */ o(
|
|
133
|
+
emptyState: () => /* @__PURE__ */ o(w, { title: e("emptyState.title"), description: e("emptyState.description") })
|
|
133
134
|
}), P = h.length > 0;
|
|
134
135
|
return /* @__PURE__ */ o(M, { error: u.errors, LoaderComponent: d, children: /* @__PURE__ */ o(
|
|
135
136
|
m.Box,
|
|
136
137
|
{
|
|
137
138
|
withPadding: !P,
|
|
138
139
|
header: /* @__PURE__ */ o(m.BoxHeader, { title: e("title") }),
|
|
139
|
-
children: P ? /* @__PURE__ */ o(Q, { label: e("listLabel"), isWithinBox: !0, ...x }) : /* @__PURE__ */ o(
|
|
140
|
+
children: P ? /* @__PURE__ */ o(Q, { label: e("listLabel"), isWithinBox: !0, ...x }) : /* @__PURE__ */ o(w, { title: e("emptyState.title"), description: e("emptyState.description") })
|
|
140
141
|
}
|
|
141
142
|
) });
|
|
142
143
|
}
|
|
143
144
|
export {
|
|
144
|
-
|
|
145
|
+
ft as PaystubsCard
|
|
145
146
|
};
|
|
146
147
|
//# sourceMappingURL=PaystubsCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaystubsCard.js","sources":["../../../../../../src/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport {\n usePaystubsList,\n type EmployeePayStub,\n type UsePaystubsListReady,\n} from '../../shared/usePaystubsList'\nimport { DataView, EmptyData, useDataView, Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useNonce } from '@/contexts/NonceProvider'\nimport { openPdfInNewTab } from '@/helpers/openPdfInNewTab'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListResult,\n} from '@/components/Employee/PaymentMethod/shared'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport DownloadCloudIcon from '@/assets/icons/download-cloud.svg?react'\n\n/**\n * Props for {@link PaystubsCard}.\n *\n * @public\n */\nexport interface PaystubsCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when paystub interactions occur. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Standalone \"Paystubs\" card. Owns its own data fetch via\n * {@link usePaystubsList} and renders the paginated paystubs table with a\n * per-row PDF download action. Emits the management block's scoped events\n * (`EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_*`) on download request and on\n * download success. The card has no edit transitions and no alert API —\n * paystubs is a read-only surface whose only action is a download side\n * effect that opens the PDF in a new tab.\n *\n * @public\n */\nexport function PaystubsCard({ LoaderComponent, ...props }: PaystubsCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Paystubs\" LoaderComponent={LoaderComponent}>\n <PaystubsCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction PaystubsCardContent({ employeeId, onEvent, LoaderComponent }: PaystubsCardProps) {\n useI18n('Employee.Management.Paystubs')\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const paystubsList = usePaystubsList({ employeeId })\n const paymentMethodList = usePaymentMethodList({ employeeId })\n\n const errorHandling = composeErrorHandler([paystubsList, paymentMethodList])\n\n if (paystubsList.isLoading) {\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box header={<Components.BoxHeader title={t('title')} />}>\n <Loading />\n </Components.Box>\n </BaseLayout>\n )\n }\n\n return (\n <PaystubsCardReady\n employeeId={employeeId}\n onEvent={onEvent}\n paystubsList={paystubsList}\n paymentMethodList={paymentMethodList}\n errorHandling={errorHandling}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface PaystubsCardReadyProps extends PaystubsCardProps {\n paystubsList: UsePaystubsListReady\n paymentMethodList: UsePaymentMethodListResult\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction PaystubsCardReady({\n employeeId,\n onEvent,\n paystubsList,\n paymentMethodList,\n errorHandling,\n LoaderComponent,\n}: PaystubsCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const { showBoundary } = useErrorBoundary()\n const nonce = useNonce()\n\n const [downloadingPayrollUuids, setDownloadingPayrollUuids] = useState<ReadonlySet<string>>(\n () => new Set(),\n )\n\n const { payStubs } = paystubsList.data\n const payStubsPagination = paystubsList.pagination.payStubs\n const paymentMethod = paymentMethodList.isLoading\n ? undefined\n : paymentMethodList.data.paymentMethod\n\n const handleDownload = useCallback(\n async (payrollUuid: string) => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {\n employeeId,\n payrollUuid,\n })\n\n const tab = openPdfInNewTab({ loadingMessage: t('downloadLoadingMessage'), nonce })\n setDownloadingPayrollUuids(prev => {\n const next = new Set(prev)\n next.add(payrollUuid)\n return next\n })\n try {\n const result = await paystubsList.actions.downloadPayStub(payrollUuid)\n if (!result) {\n tab.close()\n return\n }\n tab.navigate(result.data)\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {\n employeeId,\n payrollUuid,\n })\n } catch (err) {\n tab.close()\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n } finally {\n setDownloadingPayrollUuids(prev => {\n if (!prev.has(payrollUuid)) return prev\n const next = new Set(prev)\n next.delete(payrollUuid)\n return next\n })\n }\n },\n [paystubsList.actions, onEvent, employeeId, t, showBoundary, nonce],\n )\n\n const payStubsColumns = [\n {\n key: 'payday',\n title: t('payday'),\n render: (payStub: EmployeePayStub) => formatDateLongWithYear(payStub.checkDate) || '-',\n },\n {\n key: 'checkAmount',\n title: t('checkAmount'),\n justify: 'end' as const,\n render: (payStub: EmployeePayStub) => {\n if (!payStub.netPay) return '-'\n const amount = parseFloat(payStub.netPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'grossPay',\n title: t('grossPay'),\n justify: 'end' as const,\n render: (payStub: EmployeePayStub) => {\n if (!payStub.grossPay) return '-'\n const amount = parseFloat(payStub.grossPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'paymentMethod',\n title: t('paymentMethod'),\n render: () => paymentMethod?.type || t('noPaymentMethod'),\n },\n ]\n\n const payStubsDataView = useDataView({\n data: payStubs,\n columns: payStubsColumns,\n pagination: payStubsPagination,\n itemMenu: payStub => {\n const isDownloading =\n !!payStub.payrollUuid && downloadingPayrollUuids.has(payStub.payrollUuid)\n return (\n <Components.ButtonIcon\n variant=\"tertiary\"\n aria-label={t('downloadCta')}\n isDisabled={!payStub.payrollUuid}\n isLoading={isDownloading}\n onClick={() => {\n if (payStub.payrollUuid) {\n void handleDownload(payStub.payrollUuid)\n }\n }}\n >\n <DownloadCloudIcon aria-hidden />\n </Components.ButtonIcon>\n )\n },\n emptyState: () => (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n ),\n })\n\n const isShowingTable = payStubs.length > 0\n\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n withPadding={!isShowingTable}\n header={<Components.BoxHeader title={t('title')} />}\n >\n {isShowingTable ? (\n <DataView label={t('listLabel')} isWithinBox {...payStubsDataView} />\n ) : (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n )}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["PaystubsCard","LoaderComponent","props","jsx","BaseBoundaries","PaystubsCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","paystubsList","usePaystubsList","paymentMethodList","usePaymentMethodList","errorHandling","composeErrorHandler","BaseLayout","Loading","PaystubsCardReady","formatCurrency","useNumberFormatter","showBoundary","useErrorBoundary","nonce","useNonce","downloadingPayrollUuids","setDownloadingPayrollUuids","useState","payStubs","payStubsPagination","paymentMethod","handleDownload","useCallback","payrollUuid","componentEvents","tab","openPdfInNewTab","prev","next","result","err","payStubsColumns","payStub","formatDateLongWithYear","amount","payStubsDataView","useDataView","isDownloading","DownloadCloudIcon","EmptyData","isShowingTable","DataView"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmDO,SAASA,GAAa,EAAE,iBAAAC,GAAiB,GAAGC,KAA4B;AAC7E,SACE,gBAAAC,EAACC,GAAA,EAAe,eAAc,gCAA+B,iBAAAH,GAC3D,4BAACI,GAAA,EAAoB,iBAAAJ,GAAmC,GAAGC,EAAA,CAAO,EAAA,CACpE;AAEJ;AAEA,SAASG,EAAoB,EAAE,YAAAC,GAAY,SAAAC,GAAS,iBAAAN,KAAsC;AACxF,EAAAO,EAAQ,8BAA8B;AACtC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,8BAA8B,GACrDC,IAAaC,EAAA,GACbC,IAAeC,EAAgB,EAAE,YAAAR,GAAY,GAC7CS,IAAoBC,EAAqB,EAAE,YAAAV,GAAY,GAEvDW,IAAgBC,EAAoB,CAACL,GAAcE,CAAiB,CAAC;AAE3E,SAAIF,EAAa,YAEb,gBAAAV,EAACgB,KAAW,OAAOF,EAAc,QAAQ,iBAAAhB,GACvC,UAAA,gBAAAE,EAACQ,EAAW,KAAX,EAAe,0BAASA,EAAW,WAAX,EAAqB,OAAOF,EAAE,OAAO,GAAG,GAC/D,UAAA,gBAAAN,EAACiB,GAAA,EAAQ,EAAA,CACX,EAAA,CACF,IAKF,gBAAAjB;AAAA,IAACkB;AAAA,IAAA;AAAA,MACC,YAAAf;AAAA,MACA,SAAAC;AAAA,MACA,cAAAM;AAAA,MACA,mBAAAE;AAAA,MACA,eAAAE;AAAA,MACA,iBAAAhB;AAAA,IAAA;AAAA,EAAA;AAGN;AAQA,SAASoB,EAAkB;AAAA,EACzB,YAAAf;AAAA,EACA,SAAAC;AAAA,EACA,cAAAM;AAAA,EACA,mBAAAE;AAAA,EACA,eAAAE;AAAA,EACA,iBAAAhB;AACF,GAA2B;AACzB,QAAM,EAAE,GAAAQ,EAAA,IAAMC,EAAe,8BAA8B,GACrDC,IAAaC,EAAA,GACbU,IAAiBC,EAAmB,UAAU,GAC9C,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GACnBC,IAAQC,EAAA,GAER,CAACC,GAAyBC,CAA0B,IAAIC;AAAA,IAC5D,0BAAU,IAAA;AAAA,EAAI,GAGV,EAAE,UAAAC,MAAalB,EAAa,MAC5BmB,IAAqBnB,EAAa,WAAW,UAC7CoB,IAAgBlB,EAAkB,YACpC,SACAA,EAAkB,KAAK,eAErBmB,IAAiBC;AAAA,IACrB,OAAOC,MAAwB;AAC7B,MAAA7B,EAAQ8B,EAAgB,sDAAsD;AAAA,QAC5E,YAAA/B;AAAA,QACA,aAAA8B;AAAA,MAAA,CACD;AAED,YAAME,IAAMC,EAAgB,EAAE,gBAAgB9B,EAAE,wBAAwB,GAAG,OAAAiB,GAAO;AAClF,MAAAG,EAA2B,CAAAW,MAAQ;AACjC,cAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,eAAAC,EAAK,IAAIL,CAAW,GACbK;AAAA,MACT,CAAC;AACD,UAAI;AACF,cAAMC,IAAS,MAAM7B,EAAa,QAAQ,gBAAgBuB,CAAW;AACrE,YAAI,CAACM,GAAQ;AACX,UAAAJ,EAAI,MAAA;AACJ;AAAA,QACF;AACA,QAAAA,EAAI,SAASI,EAAO,IAAI,GACxBnC,EAAQ8B,EAAgB,8CAA8C;AAAA,UACpE,YAAA/B;AAAA,UACA,aAAA8B;AAAA,QAAA,CACD;AAAA,MACH,SAASO,GAAK;AACZ,QAAAL,EAAI,MAAA,GACJd,EAAamB,aAAe,QAAQA,IAAM,IAAI,MAAM,OAAOA,CAAG,CAAC,CAAC;AAAA,MAClE,UAAA;AACE,QAAAd,EAA2B,CAAAW,MAAQ;AACjC,cAAI,CAACA,EAAK,IAAIJ,CAAW,EAAG,QAAOI;AACnC,gBAAMC,IAAO,IAAI,IAAID,CAAI;AACzB,iBAAAC,EAAK,OAAOL,CAAW,GAChBK;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,CAAC5B,EAAa,SAASN,GAASD,GAAYG,GAAGe,GAAcE,CAAK;AAAA,EAAA,GAG9DkB,IAAkB;AAAA,IACtB;AAAA,MACE,KAAK;AAAA,MACL,OAAOnC,EAAE,QAAQ;AAAA,MACjB,QAAQ,CAACoC,MAA6BC,EAAuBD,EAAQ,SAAS,KAAK;AAAA,IAAA;AAAA,IAErF;AAAA,MACE,KAAK;AAAA,MACL,OAAOpC,EAAE,aAAa;AAAA,MACtB,SAAS;AAAA,MACT,QAAQ,CAACoC,MAA6B;AACpC,YAAI,CAACA,EAAQ,OAAQ,QAAO;AAC5B,cAAME,IAAS,WAAWF,EAAQ,MAAM;AACxC,eAAO,MAAME,CAAM,IAAI,MAAMzB,EAAeyB,CAAM;AAAA,MACpD;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,KAAK;AAAA,MACL,OAAOtC,EAAE,UAAU;AAAA,MACnB,SAAS;AAAA,MACT,QAAQ,CAACoC,MAA6B;AACpC,YAAI,CAACA,EAAQ,SAAU,QAAO;AAC9B,cAAME,IAAS,WAAWF,EAAQ,QAAQ;AAC1C,eAAO,MAAME,CAAM,IAAI,MAAMzB,EAAeyB,CAAM;AAAA,MACpD;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,KAAK;AAAA,MACL,OAAOtC,EAAE,eAAe;AAAA,MACxB,QAAQ,MAAMwB,GAAe,QAAQxB,EAAE,iBAAiB;AAAA,IAAA;AAAA,EAC1D,GAGIuC,IAAmBC,EAAY;AAAA,IACnC,MAAMlB;AAAA,IACN,SAASa;AAAA,IACT,YAAYZ;AAAA,IACZ,UAAU,CAAAa,MAAW;AACnB,YAAMK,IACJ,CAAC,CAACL,EAAQ,eAAejB,EAAwB,IAAIiB,EAAQ,WAAW;AAC1E,aACE,gBAAA1C;AAAA,QAACQ,EAAW;AAAA,QAAX;AAAA,UACC,SAAQ;AAAA,UACR,cAAYF,EAAE,aAAa;AAAA,UAC3B,YAAY,CAACoC,EAAQ;AAAA,UACrB,WAAWK;AAAA,UACX,SAAS,MAAM;AACb,YAAIL,EAAQ,eACLX,EAAeW,EAAQ,WAAW;AAAA,UAE3C;AAAA,UAEA,UAAA,gBAAA1C,EAACgD,GAAA,EAAkB,eAAW,GAAA,CAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IAGrC;AAAA,IACA,YAAY,MACV,gBAAAhD,EAACiD,GAAA,EAAU,OAAO3C,EAAE,kBAAkB,GAAG,aAAaA,EAAE,wBAAwB,EAAA,CAAG;AAAA,EAAA,CAEtF,GAEK4C,IAAiBtB,EAAS,SAAS;AAEzC,SACE,gBAAA5B,EAACgB,GAAA,EAAW,OAAOF,EAAc,QAAQ,iBAAAhB,GACvC,UAAA,gBAAAE;AAAA,IAACQ,EAAW;AAAA,IAAX;AAAA,MACC,aAAa,CAAC0C;AAAA,MACd,0BAAS1C,EAAW,WAAX,EAAqB,OAAOF,EAAE,OAAO,GAAG;AAAA,MAEhD,UAAA4C,sBACEC,GAAA,EAAS,OAAO7C,EAAE,WAAW,GAAG,aAAW,IAAE,GAAGuC,GAAkB,IAEnE,gBAAA7C,EAACiD,KAAU,OAAO3C,EAAE,kBAAkB,GAAG,aAAaA,EAAE,wBAAwB,EAAA,CAAG;AAAA,IAAA;AAAA,EAAA,GAGzF;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"PaystubsCard.js","sources":["../../../../../../src/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport {\n usePaystubsList,\n type EmployeePayStub,\n type UsePaystubsListReady,\n} from '../../shared/usePaystubsList'\nimport { DataView, EmptyData, useDataView, Loading } from '@/components/Common'\nimport { BaseBoundaries, BaseLayout } from '@/components/Base/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useNonce } from '@/contexts/NonceProvider'\nimport { openPdfInNewTab } from '@/helpers/openPdfInNewTab'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport {\n usePaymentMethodList,\n type UsePaymentMethodListResult,\n} from '@/components/Employee/PaymentMethod/shared'\nimport { formatDateLongWithYear } from '@/helpers/dateFormatting'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { LoaderComponentType } from '@/components/Base'\nimport DownloadCloudIcon from '@/assets/icons/download-cloud.svg?react'\n\n/**\n * Props for {@link PaystubsCard}.\n *\n * @public\n */\nexport interface PaystubsCardProps {\n /** The associated employee identifier. */\n employeeId: string\n /** Event handler fired when paystub interactions occur. */\n onEvent: OnEventType<EventType, unknown>\n /** Custom loading indicator rendered while this component's async data is fetching. Overrides the indicator configured on `GustoProvider` for this instance only. */\n LoaderComponent?: LoaderComponentType\n}\n\n/**\n * Standalone \"Paystubs\" card. Owns its own data fetch via\n * {@link usePaystubsList} and renders the paginated paystubs table with a\n * per-row PDF download action. Emits the management block's scoped events\n * (`EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_*`) on download request and on\n * download success. The card has no edit transitions and no alert API —\n * paystubs is a read-only surface whose only action is a download side\n * effect that opens the PDF in a new tab.\n *\n * @public\n */\nexport function PaystubsCard({ LoaderComponent, ...props }: PaystubsCardProps) {\n return (\n <BaseBoundaries componentName=\"Employee.Management.Paystubs\" LoaderComponent={LoaderComponent}>\n <PaystubsCardContent LoaderComponent={LoaderComponent} {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction PaystubsCardContent({ employeeId, onEvent, LoaderComponent }: PaystubsCardProps) {\n useI18n('Employee.Management.Paystubs')\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const paystubsList = usePaystubsList({ employeeId })\n const paymentMethodList = usePaymentMethodList({ employeeId })\n\n const errorHandling = composeErrorHandler([paystubsList, paymentMethodList])\n\n if (paystubsList.isLoading) {\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box header={<Components.BoxHeader title={t('title')} />}>\n <Loading />\n </Components.Box>\n </BaseLayout>\n )\n }\n\n return (\n <PaystubsCardReady\n employeeId={employeeId}\n onEvent={onEvent}\n paystubsList={paystubsList}\n paymentMethodList={paymentMethodList}\n errorHandling={errorHandling}\n LoaderComponent={LoaderComponent}\n />\n )\n}\n\ninterface PaystubsCardReadyProps extends PaystubsCardProps {\n paystubsList: UsePaystubsListReady\n paymentMethodList: UsePaymentMethodListResult\n errorHandling: ReturnType<typeof composeErrorHandler>\n}\n\nfunction PaystubsCardReady({\n employeeId,\n onEvent,\n paystubsList,\n paymentMethodList,\n errorHandling,\n LoaderComponent,\n}: PaystubsCardReadyProps) {\n const { t } = useTranslation('Employee.Management.Paystubs')\n const Components = useComponentContext()\n const formatCurrency = useNumberFormatter('currency')\n const { showBoundary } = useErrorBoundary()\n const nonce = useNonce()\n\n const [downloadingPayrollUuids, setDownloadingPayrollUuids] = useState<ReadonlySet<string>>(\n () => new Set(),\n )\n\n const { payStubs } = paystubsList.data\n const payStubsPagination = paystubsList.pagination.payStubs\n const paymentMethod = paymentMethodList.isLoading\n ? undefined\n : paymentMethodList.data.paymentMethod\n\n const handleDownload = useCallback(\n async (payrollUuid: string) => {\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOAD_REQUESTED, {\n employeeId,\n payrollUuid,\n })\n\n const tab = openPdfInNewTab({ loadingMessage: t('downloadLoadingMessage'), nonce })\n setDownloadingPayrollUuids(prev => {\n const next = new Set(prev)\n next.add(payrollUuid)\n return next\n })\n try {\n const result = await paystubsList.actions.downloadPayStub(payrollUuid)\n if (!result) {\n tab.close()\n return\n }\n tab.navigate(result.data)\n onEvent(componentEvents.EMPLOYEE_MANAGEMENT_PAYSTUBS_CARD_DOWNLOADED, {\n employeeId,\n payrollUuid,\n })\n } catch (err) {\n tab.close()\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n } finally {\n setDownloadingPayrollUuids(prev => {\n if (!prev.has(payrollUuid)) return prev\n const next = new Set(prev)\n next.delete(payrollUuid)\n return next\n })\n }\n },\n [paystubsList.actions, onEvent, employeeId, t, showBoundary, nonce],\n )\n\n const payStubsColumns = [\n {\n key: 'payday',\n title: t('payday'),\n render: (payStub: EmployeePayStub) => formatDateLongWithYear(payStub.checkDate) || '-',\n },\n {\n key: 'checkAmount',\n title: t('checkAmount'),\n justify: 'end' as const,\n render: (payStub: EmployeePayStub) => {\n if (!payStub.netPay) return '-'\n const amount = parseFloat(payStub.netPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'grossPay',\n title: t('grossPay'),\n justify: 'end' as const,\n render: (payStub: EmployeePayStub) => {\n if (!payStub.grossPay) return '-'\n const amount = parseFloat(payStub.grossPay)\n return isNaN(amount) ? '-' : formatCurrency(amount)\n },\n },\n {\n key: 'paymentMethod',\n title: t('paymentMethod'),\n render: () => paymentMethod?.type || t('noPaymentMethod'),\n },\n ]\n\n const payStubsDataView = useDataView({\n data: payStubs,\n columns: payStubsColumns,\n pagination: payStubsPagination,\n itemMenu: payStub => {\n const isDownloading =\n !!payStub.payrollUuid && downloadingPayrollUuids.has(payStub.payrollUuid)\n return (\n <Components.ButtonIcon\n variant=\"tertiary\"\n aria-label={t('downloadCta')}\n isDisabled={!payStub.payrollUuid}\n isLoading={isDownloading}\n onClick={() => {\n if (payStub.payrollUuid) {\n void handleDownload(payStub.payrollUuid)\n }\n }}\n >\n <DownloadCloudIcon aria-hidden />\n </Components.ButtonIcon>\n )\n },\n emptyState: () => (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n ),\n })\n\n const isShowingTable = payStubs.length > 0\n\n return (\n <BaseLayout error={errorHandling.errors} LoaderComponent={LoaderComponent}>\n <Components.Box\n withPadding={!isShowingTable}\n header={<Components.BoxHeader title={t('title')} />}\n >\n {isShowingTable ? (\n <DataView label={t('listLabel')} isWithinBox {...payStubsDataView} />\n ) : (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n )}\n </Components.Box>\n </BaseLayout>\n )\n}\n"],"names":["PaystubsCard","LoaderComponent","props","jsx","BaseBoundaries","PaystubsCardContent","employeeId","onEvent","useI18n","t","useTranslation","Components","useComponentContext","paystubsList","usePaystubsList","paymentMethodList","usePaymentMethodList","errorHandling","composeErrorHandler","BaseLayout","Loading","PaystubsCardReady","formatCurrency","useNumberFormatter","showBoundary","useErrorBoundary","nonce","useNonce","downloadingPayrollUuids","setDownloadingPayrollUuids","useState","payStubs","payStubsPagination","paymentMethod","handleDownload","useCallback","payrollUuid","componentEvents","tab","openPdfInNewTab","prev","next","result","err","payStubsColumns","payStub","formatDateLongWithYear","amount","payStubsDataView","useDataView","isDownloading","DownloadCloudIcon","EmptyData","isShowingTable","DataView"],"mappings":"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"}
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { useTranslation as y } from "react-i18next";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import "classnames";
|
|
4
|
+
import { componentEvents as g } from "../../../../../shared/constants.js";
|
|
5
|
+
import { Loading as P } from "../../../../Common/Loading/Loading.js";
|
|
6
|
+
import { BaseBoundaries as B, BaseLayout as L } from "../../../../Base/Base.js";
|
|
7
|
+
import { useComponentContext as N } from "../../../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
6
8
|
import { formatDateLongWithYear as l } from "../../../../../helpers/dateFormatting.js";
|
|
7
|
-
import { firstLastName as
|
|
8
|
-
import { useI18n as
|
|
9
|
-
import { componentEvents as D } from "../../../../../shared/constants.js";
|
|
9
|
+
import { firstLastName as X } from "../../../../../helpers/formattedStrings.js";
|
|
10
|
+
import { useI18n as D } from "../../../../../i18n/I18n.js";
|
|
10
11
|
import { useEmployeeProfileSummary as v } from "../../shared/useEmployeeProfileSummary/useEmployeeProfileSummary.js";
|
|
11
|
-
function
|
|
12
|
-
return /* @__PURE__ */ t(
|
|
12
|
+
function H({ LoaderComponent: r, ...m }) {
|
|
13
|
+
return /* @__PURE__ */ t(B, { componentName: "Employee.Management.Profile", LoaderComponent: r, children: /* @__PURE__ */ t(C, { LoaderComponent: r, ...m }) });
|
|
13
14
|
}
|
|
14
15
|
function C({ employeeId: r, onEvent: m, LoaderComponent: d }) {
|
|
15
|
-
|
|
16
|
-
const { t: o } = y("Employee.Management.Profile"), n =
|
|
16
|
+
D("Employee.Management.Profile");
|
|
17
|
+
const { t: o } = y("Employee.Management.Profile"), n = N(), a = v({ employeeId: r }), s = a.isLoading, e = a.isLoading ? void 0 : a.data.employee, c = e ? X({ first_name: e.firstName, last_name: e.lastName }) : void 0, p = e ? l(e.jobs?.[0]?.hireDate) : void 0, f = e ? l(e.dateOfBirth) : void 0, E = e?.hasSsn ? "XXX-XX-XXXX" : void 0, i = /* @__PURE__ */ t("span", { "aria-label": o("listEmptyPlaceholder"), children: "–" }), h = e ? [
|
|
17
18
|
{ term: o("legalName"), description: c || i },
|
|
18
19
|
{ term: o("startDate"), description: p || i },
|
|
19
20
|
{ term: o("socialSecurityNumber"), description: E || i },
|
|
20
21
|
{ term: o("dateOfBirth"), description: f || i },
|
|
21
22
|
{ term: o("personalEmail"), description: e.email || i }
|
|
22
23
|
] : [], u = () => {
|
|
23
|
-
m(
|
|
24
|
+
m(g.EMPLOYEE_MANAGEMENT_PROFILE_EDIT_REQUESTED, { employeeId: r });
|
|
24
25
|
};
|
|
25
|
-
return /* @__PURE__ */ t(
|
|
26
|
+
return /* @__PURE__ */ t(L, { error: a.errorHandling.errors, LoaderComponent: d, children: /* @__PURE__ */ t(
|
|
26
27
|
n.Box,
|
|
27
28
|
{
|
|
28
29
|
header: /* @__PURE__ */ t(
|
|
@@ -40,11 +41,11 @@ function C({ employeeId: r, onEvent: m, LoaderComponent: d }) {
|
|
|
40
41
|
)
|
|
41
42
|
}
|
|
42
43
|
),
|
|
43
|
-
children: s ? /* @__PURE__ */ t(
|
|
44
|
+
children: s ? /* @__PURE__ */ t(P, {}) : e ? /* @__PURE__ */ t(n.DescriptionList, { items: h }) : null
|
|
44
45
|
}
|
|
45
46
|
) });
|
|
46
47
|
}
|
|
47
48
|
export {
|
|
48
|
-
|
|
49
|
+
H as ProfileCard
|
|
49
50
|
};
|
|
50
51
|
//# sourceMappingURL=ProfileCard.js.map
|