@gusto/embedded-react-sdk 0.48.0 → 0.48.2
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 +34 -0
- package/dist/components/Common/DocumentList/DocumentList.js +12 -12
- package/dist/components/Common/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Common/DocumentList/DocumentList.module.scss.js +3 -5
- package/dist/components/Common/DocumentList/DocumentList.module.scss.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.d.ts +1 -1
- package/dist/components/Common/EmptyData/EmptyData.js +10 -12
- package/dist/components/Common/EmptyData/EmptyData.js.map +1 -1
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js +6 -10
- package/dist/components/Common/EmptyData/EmptyData.module.scss.js.map +1 -1
- package/dist/components/Common/Form/Form.d.ts +1 -1
- package/dist/components/Common/Form/Form.js +8 -7
- package/dist/components/Common/Form/Form.js.map +1 -1
- package/dist/components/Common/HorizontalFieldLayout/HorizontalFieldLayoutTypes.d.ts +1 -0
- package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +7 -3
- package/dist/components/Common/PayrollLoading/PayrollLoadingTypes.d.ts +1 -0
- package/dist/components/Common/UI/Alert/AlertTypes.d.ts +1 -0
- package/dist/components/Common/UI/Alert/AlertTypes.js.map +1 -1
- package/dist/components/Common/UI/Badge/BadgeTypes.d.ts +1 -0
- package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
- package/dist/components/Common/UI/Banner/BannerTypes.d.ts +1 -0
- package/dist/components/Common/UI/Banner/BannerTypes.js.map +1 -1
- package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -0
- package/dist/components/Common/UI/BoxHeader/BoxHeaderTypes.d.ts +1 -0
- package/dist/components/Common/UI/BoxHeader/BoxHeaderTypes.js.map +1 -1
- package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +2 -0
- package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
- package/dist/components/Common/UI/Button/ButtonTypes.d.ts +4 -2
- package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
- package/dist/components/Common/UI/CalendarPreview/CalendarPreviewTypes.d.ts +3 -2
- package/dist/components/Common/UI/Card/Card.js +8 -8
- package/dist/components/Common/UI/Card/Card.js.map +1 -1
- package/dist/components/Common/UI/Card/Card.module.scss.js +5 -3
- package/dist/components/Common/UI/Card/Card.module.scss.js.map +1 -1
- package/dist/components/Common/UI/Card/CardTypes.d.ts +1 -0
- package/dist/components/Common/UI/Checkbox/CheckboxTypes.d.ts +1 -0
- package/dist/components/Common/UI/Checkbox/CheckboxTypes.js.map +1 -1
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +2 -0
- package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
- package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -0
- package/dist/components/Common/UI/DatePicker/DatePickerTypes.d.ts +1 -0
- package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +2 -0
- package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +2 -0
- package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
- package/dist/components/Common/UI/Dialog/DialogTypes.d.ts +1 -0
- package/dist/components/Common/UI/Dialog/DialogTypes.js.map +1 -1
- package/dist/components/Common/UI/FileInput/FileInputTypes.d.ts +1 -0
- package/dist/components/Common/UI/FileInput/FileInputTypes.js.map +1 -1
- package/dist/components/Common/UI/Heading/HeadingTypes.d.ts +1 -0
- package/dist/components/Common/UI/Link/LinkTypes.d.ts +4 -3
- package/dist/components/Common/UI/List/ListTypes.d.ts +13 -4
- package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.d.ts +1 -0
- package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -1
- package/dist/components/Common/UI/Menu/MenuTypes.d.ts +2 -0
- package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
- package/dist/components/Common/UI/Modal/ModalTypes.d.ts +1 -0
- package/dist/components/Common/UI/Modal/ModalTypes.js.map +1 -1
- package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -0
- package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +1 -0
- package/dist/components/Common/UI/ProgressBar/ProgressBarTypes.d.ts +1 -0
- package/dist/components/Common/UI/Radio/RadioTypes.d.ts +1 -0
- package/dist/components/Common/UI/Radio/RadioTypes.js.map +1 -1
- package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -0
- package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
- package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -0
- package/dist/components/Common/UI/Switch/SwitchTypes.d.ts +1 -0
- package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
- package/dist/components/Common/UI/Table/TableTypes.d.ts +3 -0
- package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
- package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -0
- package/dist/components/Common/UI/Text/TextTypes.d.ts +1 -0
- package/dist/components/Common/UI/Text/TextTypes.js.map +1 -1
- package/dist/components/Common/UI/TextArea/TextAreaTypes.d.ts +1 -0
- package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -1
- package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -0
- package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
- package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
- package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
- package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
- package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/fields.js +4 -4
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
- package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
- package/dist/components/Company/Industry/Context.js +8 -7
- package/dist/components/Company/Industry/Context.js.map +1 -1
- package/dist/components/Company/Industry/IndustrySelect.js +6 -8
- package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
- package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
- package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
- package/dist/components/Company/OnboardingOverview/context.js +5 -4
- package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js +3 -1
- package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
- package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/fields.js +5 -5
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
- package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
- package/dist/components/Contractor/Address/useAddress.js +7 -6
- package/dist/components/Contractor/Address/useAddress.js.map +1 -1
- package/dist/components/Contractor/Profile/useContractorProfile.js +26 -27
- package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
- package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js +6 -6
- package/dist/components/Employee/Compensation/shared/useJobForm/fields.js +10 -10
- package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/fields.js +1 -1
- package/dist/components/Employee/Deductions/shared/useDeductionForm/fields.js +2 -2
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +25 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/index.d.ts +3 -0
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +28 -5
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +3 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/index.d.ts +3 -0
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +26 -5
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +3 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
- package/dist/components/Employee/Documents/shared/SignatureForm/index.d.ts +3 -0
- package/dist/components/Employee/Documents/shared/useSignEmployeeForm/fields.js +2 -2
- package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/fields.js +1 -1
- package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js +4 -4
- package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js +8 -8
- package/dist/components/Employee/Profile/shared/useHomeAddressForm/fields.js +6 -6
- package/dist/components/Employee/Profile/shared/useWorkAddressForm/fields.js +4 -4
- package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +8 -8
- package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -0
- package/dist/components/Employee/exports/employeeOnboarding.js +28 -22
- package/dist/components/Employee/exports/employeeOnboarding.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +36 -2
- package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestForm/index.d.ts +1 -1
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +22 -2
- package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestList/index.d.ts +1 -1
- package/dist/components/InformationRequests/InformationRequests.d.ts +29 -2
- package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
- package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +2 -0
- package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
- package/dist/components/InformationRequests/index.d.ts +3 -3
- package/dist/components/InformationRequests/informationRequestsStateMachine.d.ts +2 -0
- package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +36 -3
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +6 -2
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.d.ts +1 -0
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.d.ts +14 -0
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.d.ts +1 -8
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +1 -2
- package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +0 -1
- package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +11 -0
- package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
- package/dist/components/Payroll/ConfirmWireDetails/index.d.ts +1 -2
- package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +23 -0
- package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +18 -0
- package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.d.ts +15 -0
- package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +24 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +7 -0
- package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +2 -0
- package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
- package/dist/components/Payroll/Dismissal/index.d.ts +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.d.ts +1 -0
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
- package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
- package/dist/components/Payroll/GrossUpModal/GrossUpModalTypes.d.ts +5 -0
- package/dist/components/Payroll/GrossUpModal/index.d.ts +0 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +31 -0
- package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +20 -0
- package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.d.ts +2 -0
- package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +20 -0
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -0
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +24 -0
- package/dist/components/Payroll/OffCycleCreation/index.d.ts +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +16 -0
- package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
- package/dist/components/Payroll/OffCycleDeductionsSetting/types.d.ts +13 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.d.ts +1 -0
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.d.ts +18 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js.map +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts +1 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js +0 -1
- package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +15 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.d.ts +1 -0
- package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
- package/dist/components/Payroll/OffCycleReasonSelection/types.d.ts +43 -0
- package/dist/components/Payroll/OffCycleReasonSelection/types.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.d.ts +1 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModalTypes.d.ts +5 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingModal/index.d.ts +0 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.d.ts +1 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTable.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +14 -0
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js.map +1 -1
- package/dist/components/Payroll/OffCycleTaxWithholdingTable/index.d.ts +0 -2
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.d.ts +3 -0
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.d.ts +19 -5
- package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerList.js.map +1 -1
- package/dist/components/Payroll/PayrollBlocker/index.d.ts +0 -1
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.d.ts +17 -11
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js +0 -2
- package/dist/components/Payroll/PayrollBlocker/payrollHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +31 -3
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +1 -2
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.d.ts +2 -0
- package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js.map +1 -1
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -0
- package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +42 -3
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +1 -2
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +3 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.d.ts +8 -6
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +65 -0
- package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollExecutionFlow/index.d.ts +0 -1
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +38 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +27 -0
- package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +1 -0
- package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -1
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +25 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -2
- package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +33 -4
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +1 -2
- package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +19 -0
- package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +2 -0
- package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollList.d.ts +32 -13
- package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +65 -68
- package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollList/types.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +39 -3
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +1 -2
- package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.d.ts +1 -0
- package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/GenericBlocker.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.d.ts +26 -3
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js +2 -7
- package/dist/components/Payroll/PayrollReceipts/PayrollReceipts.js.map +1 -1
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.d.ts +1 -0
- package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.d.ts +1 -0
- package/dist/components/Payroll/PayrollStatusBadges/PayrollStatusBadges.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/index.d.ts +0 -2
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +26 -0
- package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
- package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.d.ts +2 -0
- package/dist/components/Payroll/PayrollStatusBadges/usePayrollStatusBadges.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +21 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.d.ts +5 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +1 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +1 -0
- package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/index.d.ts +0 -1
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.d.ts +5 -0
- package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.d.ts +5 -0
- package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlow.d.ts +21 -0
- package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
- package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +23 -0
- package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
- package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +2 -0
- package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +20 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +7 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -1
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +27 -0
- package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +1 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -1
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +5 -0
- package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -1
- package/dist/components/Payroll/helpers.d.ts +157 -26
- package/dist/components/Payroll/helpers.js +0 -1
- package/dist/components/Payroll/helpers.js.map +1 -1
- package/dist/components/Payroll/index.d.ts +11 -2
- package/dist/components/Payroll/payrollTypes.d.ts +24 -0
- package/dist/components/Payroll/payrollTypes.js.map +1 -1
- package/dist/components/Payroll/usePreparedPayrollData.d.ts +12 -0
- package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
- package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.d.ts +7 -0
- package/dist/components/Payroll/useUnprocessedTransitionPayPeriods.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +19 -0
- package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +44 -0
- package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +4 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.d.ts +1 -0
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailTypes.d.ts +28 -2
- package/dist/components/TimeOff/HolidayPolicyDetail/index.d.ts +0 -2
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +26 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.d.ts +1 -0
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionFormTypes.d.ts +10 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +25 -0
- package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.d.ts +1 -0
- package/dist/components/TimeOff/PolicyList/PolicyListPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyList/PolicyListTypes.d.ts +17 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +22 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.d.ts +14 -0
- package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicySettings/PolicySettingsTypes.d.ts +31 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +23 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.d.ts +1 -0
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js.map +1 -1
- package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorTypes.d.ts +10 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +42 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +26 -0
- package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +15 -2
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js +1 -6
- package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.js.map +1 -1
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +29 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormTypes.d.ts +59 -1
- package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/index.d.ts +0 -3
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesHoliday.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js +43 -42
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesPresentationTypes.d.ts +2 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.d.ts +1 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff.js.map +1 -1
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.d.ts +3 -0
- package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.d.ts +9 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/EditEmployeeBalanceModal.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +25 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.d.ts +14 -0
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailPresentation.js.map +1 -1
- package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetailTypes.d.ts +97 -6
- package/dist/components/TimeOff/TimeOffPolicyDetail/index.d.ts +1 -5
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +23 -0
- package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +22 -0
- package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +22 -0
- package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
- package/dist/components/TimeOff/index.d.ts +8 -2
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.d.ts +1 -0
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js +48 -49
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTable.js.map +1 -1
- package/dist/components/TimeOff/shared/EmployeeTable/EmployeeTableTypes.d.ts +66 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.d.ts +1 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
- package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayoutTypes.d.ts +28 -0
- package/dist/components/TimeOff/shared/PolicyDetailLayout/index.d.ts +0 -1
- package/dist/components/TimeOff/shared/holidayHelpers.d.ts +5 -0
- package/dist/components/TimeOff/shared/holidayHelpers.js.map +1 -1
- package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +4 -4
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +39 -39
- package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
- package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +42 -42
- package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
- package/dist/i18n/en/common.json.d.ts +0 -1
- package/dist/i18n/en/common.json.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +206 -205
- package/dist/node_modules/react-dnd/dist/core/DndProvider.js +1 -1
- package/dist/node_modules/react-dnd/dist/core/DndProvider.js.map +1 -1
- package/dist/partner-hook-utils/composeErrorHandler.js +3 -1
- package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
- package/dist/shared/constants.d.ts +12 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/i18next.d.ts +0 -1
- package/docs/reference/endpoint-inventory.json +55 -0
- package/package.json +24 -11
- package/dist/assets/icons/feature-icon-check.svg.js +0 -10
- package/dist/assets/icons/feature-icon-check.svg.js.map +0 -1
- package/dist/assets/icons/magnifyingGlass.png.js +0 -5
- package/dist/assets/icons/magnifyingGlass.png.js.map +0 -1
- package/dist/components/Payroll/PayrollEditEmployee/index.d.ts +0 -4
- package/dist/components/Payroll/PayrollFlow/index.d.ts +0 -3
- package/dist/components/TimeOff/TimeOffFlow/index.d.ts +0 -3
- package/dist/components/TimeOff/shared/EmployeeTable/index.d.ts +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollList.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollList.tsx"],"sourcesContent":["import { useState, useCallback } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n usePayrollsListSuspense,\n invalidateAllPayrollsList,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGetAll'\nimport { usePayrollsSkipMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsSkip'\nimport { usePayrollsDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsDelete'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsGetBlockers'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/wireInRequestsList'\nimport { PayrollType } from '@gusto/embedded-api-v-2025-11-15/models/operations/postcompaniespayrollskipcompanyuuid'\nimport {\n ProcessingStatuses,\n QueryParamPayrollTypes,\n} from '@gusto/embedded-api-v-2025-11-15/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { useUnprocessedTransitionPayPeriods } from '../useUnprocessedTransitionPayPeriods'\nimport { PayrollListPresentation } from './PayrollListPresentation'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport { useDateRangeFilter } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\n\ninterface PayrollListBlockProps extends BaseComponentInterface {\n companyId: string\n}\n\n/**\n * Lists upcoming payrolls and lets users start running them.\n *\n * Disables the Run Payroll action on Regular rows when the company has any\n * unprocessed transition pay periods within the next 90 days — running a\n * regular payroll before resolving a transition causes the transition to be\n * dropped on the backend, so this gate matches the behavior shipped in\n * Gusto-hosted flows. Off-cycle rows and the Run off-cycle CTA are\n * intentionally left enabled, since off-cycle is the path used to actually\n * run a transition payroll.\n *\n * When composed via `Payroll.PayrollLanding`, the alert that explains the\n * block (and lets the user resolve it via Run / Skip) is rendered\n * automatically. When using `PayrollList` directly, render an equivalent\n * resolution surface alongside it.\n */\nexport function PayrollList(props: PayrollListBlockProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst FUTURE_LOOKAHEAD_MONTHS = 3\n\nconst getFutureEndDate = (): string => {\n const endDate = new Date()\n endDate.setMonth(endDate.getMonth() + FUTURE_LOOKAHEAD_MONTHS)\n return endDate.toISOString().split('T')[0]!\n}\n\nconst Root = ({ companyId, onEvent }: PayrollListBlockProps) => {\n const { baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const [showSkipSuccessAlert, setShowSkipSuccessAlert] = useState(false)\n const [skippingPayrollId, setSkippingPayrollId] = useState<string | null>(null)\n const { currentPage, itemsPerPage, getPaginationProps, resetPage } = usePagination()\n const [showDeleteSuccessAlert, setShowDeleteSuccessAlert] = useState(false)\n const [deletingPayrollId, setDeletingPayrollId] = useState<string | null>(null)\n\n const dateRangeFilter = useDateRangeFilter({\n onFilterChange: useCallback(() => {\n resetPage()\n }, [resetPage]),\n })\n const dateFilterParams = dateRangeFilter.getApiDateParams()\n\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Unprocessed],\n startDate: dateFilterParams.startDate,\n endDate: dateFilterParams.endDate ?? getFutureEndDate(),\n payrollTypes: [\n QueryParamPayrollTypes.Regular,\n QueryParamPayrollTypes.OffCycle,\n QueryParamPayrollTypes.External,\n ],\n includeOffCycle: true,\n page: currentPage,\n per: itemsPerPage,\n })\n const payrollList = payrollsData.payrollList!\n const paginationProps = getPaginationProps(payrollsData.httpMeta.response.headers)\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n const paySchedulesList = paySchedulesData.payScheduleShowResponse!\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockers ?? []\n\n const blockers: ApiPayrollBlocker[] = payrollBlockerList.map(\n (blocker: { key?: string; message?: string }) => ({\n key: blocker.key ?? 'unknown',\n message: blocker.message,\n }),\n )\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { hasUnprocessedTransitions } = useUnprocessedTransitionPayPeriods(companyId)\n\n const { mutateAsync: skipPayroll } = usePayrollsSkipMutation()\n const { mutateAsync: deletePayrollMutation } = usePayrollsDeleteMutation()\n\n const onRunPayroll = ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.RUN_PAYROLL_SELECTED, { payrollUuid, payPeriod })\n }\n const onRunOffCyclePayroll = () => {\n onEvent(componentEvents.RUN_OFF_CYCLE_PAYROLL)\n }\n const onSubmitPayroll = ({\n payrollUuid,\n payPeriod,\n }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.REVIEW_PAYROLL, { payrollUuid, payPeriod })\n }\n const onSkipPayroll = async ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => {\n const payroll = payrollList.find(payroll => payroll.payrollUuid === payrollUuid)\n\n if (payroll?.payPeriod) {\n setSkippingPayrollId(payrollUuid!)\n const payrollType =\n payroll.offCycleReason === 'Transition from old pay schedule'\n ? PayrollType.TransitionFromOldPaySchedule\n : PayrollType.Regular\n\n await baseSubmitHandler({}, async () => {\n await skipPayroll({\n request: {\n companyUuid: companyId,\n requestBody: {\n payrollType,\n startDate: payroll.payPeriod?.startDate,\n endDate: payroll.payPeriod?.endDate,\n payScheduleUuid: payroll.payPeriod?.payScheduleUuid ?? undefined,\n },\n },\n })\n\n setShowSkipSuccessAlert(true)\n onEvent(componentEvents.PAYROLL_SKIPPED, { payrollId: payrollUuid })\n })\n setSkippingPayrollId(null)\n }\n }\n\n const onDeletePayroll = async ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => {\n if (payrollUuid) {\n setDeletingPayrollId(payrollUuid)\n await baseSubmitHandler({}, async () => {\n await deletePayrollMutation({\n request: { companyId, payrollId: payrollUuid },\n })\n await invalidateAllPayrollsList(queryClient)\n setShowDeleteSuccessAlert(true)\n onEvent(componentEvents.PAYROLL_DELETED, { payrollId: payrollUuid })\n })\n setDeletingPayrollId(null)\n }\n }\n\n return (\n <PayrollListPresentation\n payrolls={payrollList}\n pagination={paginationProps}\n paySchedules={paySchedulesList}\n onRunPayroll={onRunPayroll}\n onSubmitPayroll={onSubmitPayroll}\n onSkipPayroll={onSkipPayroll}\n onDeletePayroll={onDeletePayroll}\n onRunOffCyclePayroll={onRunOffCyclePayroll}\n showSkipSuccessAlert={showSkipSuccessAlert}\n onDismissSkipSuccessAlert={() => {\n setShowSkipSuccessAlert(false)\n }}\n showDeleteSuccessAlert={showDeleteSuccessAlert}\n onDismissDeleteSuccessAlert={() => {\n setShowDeleteSuccessAlert(false)\n }}\n skippingPayrollId={skippingPayrollId}\n deletingPayrollId={deletingPayrollId}\n blockers={blockers}\n wireInRequests={wireInRequests}\n dateRangeFilter={dateRangeFilter}\n hasUnprocessedTransitions={hasUnprocessedTransitions}\n />\n )\n}\n"],"names":["PayrollList","props","jsx","BaseComponent","Root","FUTURE_LOOKAHEAD_MONTHS","getFutureEndDate","endDate","companyId","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","showSkipSuccessAlert","setShowSkipSuccessAlert","useState","skippingPayrollId","setSkippingPayrollId","currentPage","itemsPerPage","getPaginationProps","resetPage","usePagination","showDeleteSuccessAlert","setShowDeleteSuccessAlert","deletingPayrollId","setDeletingPayrollId","dateRangeFilter","useDateRangeFilter","useCallback","dateFilterParams","payrollsData","usePayrollsListSuspense","ProcessingStatuses","QueryParamPayrollTypes","payrollList","paginationProps","paySchedulesData","usePaySchedulesGetAllSuspense","paySchedulesList","blockersData","usePayrollsGetBlockersSuspense","blockers","blocker","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","hasUnprocessedTransitions","useUnprocessedTransitionPayPeriods","skipPayroll","usePayrollsSkipMutation","deletePayrollMutation","usePayrollsDeleteMutation","PayrollListPresentation","payrollUuid","payPeriod","componentEvents","payroll","payrollType","PayrollType","invalidateAllPayrollsList"],"mappings":";;;;;;;;;;;;;;;;;;AA8CO,SAASA,GAAYC,GAA8B;AACxD,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,IAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,MAAMI,KAA0B,GAE1BC,KAAmB,MAAc;AACrC,QAAMC,wBAAc,KAAA;AACpB,SAAAA,EAAQ,SAASA,EAAQ,SAAA,IAAaF,EAAuB,GACtDE,EAAQ,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC;AAC3C,GAEMH,KAAO,CAAC,EAAE,WAAAI,GAAW,SAAAC,QAAqC;AAC9D,QAAM,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GACxBC,IAAcC,EAAA,GACd,CAACC,GAAsBC,CAAuB,IAAIC,EAAS,EAAK,GAChE,CAACC,GAAmBC,CAAoB,IAAIF,EAAwB,IAAI,GACxE,EAAE,aAAAG,GAAa,cAAAC,GAAc,oBAAAC,GAAoB,WAAAC,EAAA,IAAcC,EAAA,GAC/D,CAACC,GAAwBC,CAAyB,IAAIT,EAAS,EAAK,GACpE,CAACU,GAAmBC,CAAoB,IAAIX,EAAwB,IAAI,GAExEY,IAAkBC,EAAmB;AAAA,IACzC,gBAAgBC,EAAY,MAAM;AAChC,MAAAR,EAAA;AAAA,IACF,GAAG,CAACA,CAAS,CAAC;AAAA,EAAA,CACf,GACKS,IAAmBH,EAAgB,iBAAA,GAEnC,EAAE,MAAMI,EAAA,IAAiBC,EAAwB;AAAA,IACrD,WAAAzB;AAAA,IACA,oBAAoB,CAAC0B,EAAmB,WAAW;AAAA,IACnD,WAAWH,EAAiB;AAAA,IAC5B,SAASA,EAAiB,WAAWzB,GAAA;AAAA,IACrC,cAAc;AAAA,MACZ6B,EAAuB;AAAA,MACvBA,EAAuB;AAAA,MACvBA,EAAuB;AAAA,IAAA;AAAA,IAEzB,iBAAiB;AAAA,IACjB,MAAMhB;AAAA,IACN,KAAKC;AAAA,EAAA,CACN,GACKgB,IAAcJ,EAAa,aAC3BK,IAAkBhB,EAAmBW,EAAa,SAAS,SAAS,OAAO,GAC3E,EAAE,MAAMM,EAAA,IAAqBC,EAA8B;AAAA,IAC/D,WAAA/B;AAAA,EAAA,CACD,GACKgC,IAAmBF,EAAiB,yBAEpC,EAAE,MAAMG,EAAA,IAAiBC,EAA+B;AAAA,IAC5D,aAAalC;AAAA,EAAA,CACd,GAIKmC,KAFqBF,EAAa,mBAAmB,CAAA,GAEF;AAAA,IACvD,CAACG,OAAiD;AAAA,MAChD,KAAKA,EAAQ,OAAO;AAAA,MACpB,SAASA,EAAQ;AAAA,IAAA;AAAA,EACnB,GAGI,EAAE,MAAMC,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAatC;AAAA,EAAA,CACd,GAEKuC,IAAiBF,EAAmB,qBAAqB,CAAA,GAEzD,EAAE,2BAAAG,EAAA,IAA8BC,EAAmCzC,CAAS,GAE5E,EAAE,aAAa0C,EAAA,IAAgBC,EAAA,GAC/B,EAAE,aAAaC,EAAA,IAA0BC,EAAA;AA2D/C,SACE,gBAAAnD;AAAA,IAACoD;AAAA,IAAA;AAAA,MACC,UAAUlB;AAAA,MACV,YAAYC;AAAA,MACZ,cAAcG;AAAA,MACd,cA9DiB,CAAC,EAAE,aAAAe,GAAa,WAAAC,QAA4D;AAC/F,QAAA/C,EAAQgD,EAAgB,sBAAsB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,MAC1E;AAAA,MA6DI,iBAzDoB,CAAC;AAAA,QACvB,aAAAD;AAAA,QACA,WAAAC;AAAA,MAAA,MACgD;AAChD,QAAA/C,EAAQgD,EAAgB,gBAAgB,EAAE,aAAAF,GAAa,WAAAC,GAAW;AAAA,MACpE;AAAA,MAqDI,eApDkB,OAAO,EAAE,aAAAD,QAAgD;AAC7E,cAAMG,IAAUtB,EAAY,KAAK,CAAAsB,MAAWA,EAAQ,gBAAgBH,CAAW;AAE/E,YAAIG,GAAS,WAAW;AACtB,UAAAxC,EAAqBqC,CAAY;AACjC,gBAAMI,IACJD,EAAQ,mBAAmB,qCACvBE,EAAY,+BACZA,EAAY;AAElB,gBAAMlD,EAAkB,CAAA,GAAI,YAAY;AACtC,kBAAMwC,EAAY;AAAA,cAChB,SAAS;AAAA,gBACP,aAAa1C;AAAA,gBACb,aAAa;AAAA,kBACX,aAAAmD;AAAA,kBACA,WAAWD,EAAQ,WAAW;AAAA,kBAC9B,SAASA,EAAQ,WAAW;AAAA,kBAC5B,iBAAiBA,EAAQ,WAAW,mBAAmB;AAAA,gBAAA;AAAA,cACzD;AAAA,YACF,CACD,GAED3C,EAAwB,EAAI,GAC5BN,EAAQgD,EAAgB,iBAAiB,EAAE,WAAWF,GAAa;AAAA,UACrE,CAAC,GACDrC,EAAqB,IAAI;AAAA,QAC3B;AAAA,MACF;AAAA,MAyBI,iBAvBoB,OAAO,EAAE,aAAAqC,QAAgD;AAC/E,QAAIA,MACF5B,EAAqB4B,CAAW,GAChC,MAAM7C,EAAkB,CAAA,GAAI,YAAY;AACtC,gBAAM0C,EAAsB;AAAA,YAC1B,SAAS,EAAE,WAAA5C,GAAW,WAAW+C,EAAA;AAAA,UAAY,CAC9C,GACD,MAAMM,EAA0BjD,CAAW,GAC3Ca,EAA0B,EAAI,GAC9BhB,EAAQgD,EAAgB,iBAAiB,EAAE,WAAWF,GAAa;AAAA,QACrE,CAAC,GACD5B,EAAqB,IAAI;AAAA,MAE7B;AAAA,MAWI,sBA/DyB,MAAM;AACjC,QAAAlB,EAAQgD,EAAgB,qBAAqB;AAAA,MAC/C;AAAA,MA8DI,sBAAA3C;AAAA,MACA,2BAA2B,MAAM;AAC/B,QAAAC,EAAwB,EAAK;AAAA,MAC/B;AAAA,MACA,wBAAAS;AAAA,MACA,6BAA6B,MAAM;AACjC,QAAAC,EAA0B,EAAK;AAAA,MACjC;AAAA,MACA,mBAAAR;AAAA,MACA,mBAAAS;AAAA,MACA,UAAAiB;AAAA,MACA,gBAAAI;AAAA,MACA,iBAAAnB;AAAA,MACA,2BAAAoB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
1
|
+
{"version":3,"file":"PayrollList.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollList.tsx"],"sourcesContent":["import { useState, useCallback } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n usePayrollsListSuspense,\n invalidateAllPayrollsList,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGetAll'\nimport { usePayrollsSkipMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsSkip'\nimport { usePayrollsDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsDelete'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsGetBlockers'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/wireInRequestsList'\nimport { PayrollType } from '@gusto/embedded-api-v-2025-11-15/models/operations/postcompaniespayrollskipcompanyuuid'\nimport {\n ProcessingStatuses,\n QueryParamPayrollTypes,\n} from '@gusto/embedded-api-v-2025-11-15/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { useUnprocessedTransitionPayPeriods } from '../useUnprocessedTransitionPayPeriods'\nimport { PayrollListPresentation } from './PayrollListPresentation'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport { BaseComponent, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport { useDateRangeFilter } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\n\n/**\n * Props for {@link PayrollList}.\n *\n * @public\n */\nexport interface PayrollListBlockProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Lists upcoming payrolls and lets users start running them.\n *\n * Displays available payrolls with pay period dates, payroll type, check date,\n * deadline, and status. Each row offers actions to run, submit a calculated\n * payroll, skip, or delete (for cancellable off-cycle payrolls). A separate\n * call-to-action starts an off-cycle payroll.\n *\n * @remarks\n * When the company has unprocessed transition pay periods within the next\n * 90 days, the Run Payroll action on Regular rows is disabled to prevent a\n * regular payroll from being run before the transition is resolved. Off-cycle\n * rows and the Run off-cycle action remain enabled, since off-cycle is the\n * path used to run a transition payroll. {@link PayrollLanding} pairs this\n * list with an alert that lets users run or skip the pending transition; when\n * using `PayrollList` directly, render an equivalent resolution surface\n * alongside it.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/selected` | User selected a payroll to run | `{ payrollUuid, payPeriod }` |\n * | `payroll/review` | User selected a calculated payroll to review and submit | `{ payrollUuid, payPeriod }` |\n * | `payroll/skipped` | A payroll was successfully skipped | `{ payrollId }` |\n * | `payroll/deleted` | A cancellable off-cycle payroll was successfully deleted | `{ payrollId }` |\n * | `runPayroll/offCycle/start` | User clicked the Run off-cycle call-to-action | — |\n *\n * @param props - See {@link PayrollListBlockProps}.\n * @returns The rendered payroll list.\n * @public\n */\nexport function PayrollList(props: PayrollListBlockProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nconst FUTURE_LOOKAHEAD_MONTHS = 3\n\nconst getFutureEndDate = (): string => {\n const endDate = new Date()\n endDate.setMonth(endDate.getMonth() + FUTURE_LOOKAHEAD_MONTHS)\n return endDate.toISOString().split('T')[0]!\n}\n\nconst Root = ({ companyId, onEvent }: PayrollListBlockProps) => {\n const { baseSubmitHandler } = useBase()\n const queryClient = useQueryClient()\n const [showSkipSuccessAlert, setShowSkipSuccessAlert] = useState(false)\n const [skippingPayrollId, setSkippingPayrollId] = useState<string | null>(null)\n const { currentPage, itemsPerPage, getPaginationProps, resetPage } = usePagination()\n const [showDeleteSuccessAlert, setShowDeleteSuccessAlert] = useState(false)\n const [deletingPayrollId, setDeletingPayrollId] = useState<string | null>(null)\n\n const dateRangeFilter = useDateRangeFilter({\n onFilterChange: useCallback(() => {\n resetPage()\n }, [resetPage]),\n })\n const dateFilterParams = dateRangeFilter.getApiDateParams()\n\n const { data: payrollsData } = usePayrollsListSuspense({\n companyId,\n processingStatuses: [ProcessingStatuses.Unprocessed],\n startDate: dateFilterParams.startDate,\n endDate: dateFilterParams.endDate ?? getFutureEndDate(),\n payrollTypes: [\n QueryParamPayrollTypes.Regular,\n QueryParamPayrollTypes.OffCycle,\n QueryParamPayrollTypes.External,\n ],\n includeOffCycle: true,\n page: currentPage,\n per: itemsPerPage,\n })\n const payrollList = payrollsData.payrollList!\n const paginationProps = getPaginationProps(payrollsData.httpMeta.response.headers)\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({\n companyId,\n })\n const paySchedulesList = paySchedulesData.payScheduleShowResponse!\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockers ?? []\n\n const blockers: ApiPayrollBlocker[] = payrollBlockerList.map(\n (blocker: { key?: string; message?: string }) => ({\n key: blocker.key ?? 'unknown',\n message: blocker.message,\n }),\n )\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { hasUnprocessedTransitions } = useUnprocessedTransitionPayPeriods(companyId)\n\n const { mutateAsync: skipPayroll } = usePayrollsSkipMutation()\n const { mutateAsync: deletePayrollMutation } = usePayrollsDeleteMutation()\n\n const onRunPayroll = ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.RUN_PAYROLL_SELECTED, { payrollUuid, payPeriod })\n }\n const onRunOffCyclePayroll = () => {\n onEvent(componentEvents.RUN_OFF_CYCLE_PAYROLL)\n }\n const onSubmitPayroll = ({\n payrollUuid,\n payPeriod,\n }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => {\n onEvent(componentEvents.REVIEW_PAYROLL, { payrollUuid, payPeriod })\n }\n const onSkipPayroll = async ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => {\n const payroll = payrollList.find(payroll => payroll.payrollUuid === payrollUuid)\n\n if (payroll?.payPeriod) {\n setSkippingPayrollId(payrollUuid!)\n const payrollType =\n payroll.offCycleReason === 'Transition from old pay schedule'\n ? PayrollType.TransitionFromOldPaySchedule\n : PayrollType.Regular\n\n await baseSubmitHandler({}, async () => {\n await skipPayroll({\n request: {\n companyUuid: companyId,\n requestBody: {\n payrollType,\n startDate: payroll.payPeriod?.startDate,\n endDate: payroll.payPeriod?.endDate,\n payScheduleUuid: payroll.payPeriod?.payScheduleUuid ?? undefined,\n },\n },\n })\n\n setShowSkipSuccessAlert(true)\n onEvent(componentEvents.PAYROLL_SKIPPED, { payrollId: payrollUuid })\n })\n setSkippingPayrollId(null)\n }\n }\n\n const onDeletePayroll = async ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => {\n if (payrollUuid) {\n setDeletingPayrollId(payrollUuid)\n await baseSubmitHandler({}, async () => {\n await deletePayrollMutation({\n request: { companyId, payrollId: payrollUuid },\n })\n await invalidateAllPayrollsList(queryClient)\n setShowDeleteSuccessAlert(true)\n onEvent(componentEvents.PAYROLL_DELETED, { payrollId: payrollUuid })\n })\n setDeletingPayrollId(null)\n }\n }\n\n return (\n <PayrollListPresentation\n payrolls={payrollList}\n pagination={paginationProps}\n paySchedules={paySchedulesList}\n onRunPayroll={onRunPayroll}\n onSubmitPayroll={onSubmitPayroll}\n onSkipPayroll={onSkipPayroll}\n onDeletePayroll={onDeletePayroll}\n onRunOffCyclePayroll={onRunOffCyclePayroll}\n showSkipSuccessAlert={showSkipSuccessAlert}\n onDismissSkipSuccessAlert={() => {\n setShowSkipSuccessAlert(false)\n }}\n showDeleteSuccessAlert={showDeleteSuccessAlert}\n onDismissDeleteSuccessAlert={() => {\n setShowDeleteSuccessAlert(false)\n }}\n skippingPayrollId={skippingPayrollId}\n deletingPayrollId={deletingPayrollId}\n blockers={blockers}\n wireInRequests={wireInRequests}\n dateRangeFilter={dateRangeFilter}\n hasUnprocessedTransitions={hasUnprocessedTransitions}\n />\n )\n}\n"],"names":["PayrollList","props","jsx","BaseComponent","Root","FUTURE_LOOKAHEAD_MONTHS","getFutureEndDate","endDate","companyId","onEvent","baseSubmitHandler","useBase","queryClient","useQueryClient","showSkipSuccessAlert","setShowSkipSuccessAlert","useState","skippingPayrollId","setSkippingPayrollId","currentPage","itemsPerPage","getPaginationProps","resetPage","usePagination","showDeleteSuccessAlert","setShowDeleteSuccessAlert","deletingPayrollId","setDeletingPayrollId","dateRangeFilter","useDateRangeFilter","useCallback","dateFilterParams","payrollsData","usePayrollsListSuspense","ProcessingStatuses","QueryParamPayrollTypes","payrollList","paginationProps","paySchedulesData","usePaySchedulesGetAllSuspense","paySchedulesList","blockersData","usePayrollsGetBlockersSuspense","blockers","blocker","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","hasUnprocessedTransitions","useUnprocessedTransitionPayPeriods","skipPayroll","usePayrollsSkipMutation","deletePayrollMutation","usePayrollsDeleteMutation","PayrollListPresentation","payrollUuid","payPeriod","componentEvents","payroll","payrollType","PayrollType","invalidateAllPayrollsList"],"mappings":"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"}
|
|
@@ -24,5 +24,6 @@ interface PayrollListPresentationProps {
|
|
|
24
24
|
dateRangeFilter: UseDateRangeFilterResult;
|
|
25
25
|
hasUnprocessedTransitions?: boolean;
|
|
26
26
|
}
|
|
27
|
+
/** @internal */
|
|
27
28
|
export declare const PayrollListPresentation: ({ onRunPayroll, onSubmitPayroll, onSkipPayroll, onDeletePayroll, onRunOffCyclePayroll, payrolls, pagination, paySchedules, showSkipSuccessAlert, onDismissSkipSuccessAlert, showDeleteSuccessAlert, onDismissDeleteSuccessAlert, skippingPayrollId, deletingPayrollId, blockers, wireInRequests, dateRangeFilter, hasUnprocessedTransitions, }: PayrollListPresentationProps) => import("react").JSX.Element;
|
|
28
29
|
export {};
|
|
@@ -4,14 +4,14 @@ import { useRef as ue, useMemo as q, useState as V } from "react";
|
|
|
4
4
|
import { useTranslation as me } from "react-i18next";
|
|
5
5
|
import { getPayrollTypeLabel as fe } from "../helpers.js";
|
|
6
6
|
import o from "./PayrollListPresentation.module.scss.js";
|
|
7
|
-
import { Flex as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
7
|
+
import { Flex as f } from "../../Common/Flex/Flex.js";
|
|
8
|
+
import { EmptyData as ye } from "../../Common/EmptyData/EmptyData.js";
|
|
9
|
+
import { HamburgerMenu as pe } from "../../Common/HamburgerMenu/HamburgerMenu.js";
|
|
10
|
+
import { DateRangeFilter as De } from "../../Common/DateRangeFilter/DateRangeFilter.js";
|
|
11
|
+
import { useComponentContext as Pe } from "../../../contexts/ComponentAdapter/useComponentContext.js";
|
|
11
12
|
import { useI18n as Ce } from "../../../i18n/I18n.js";
|
|
12
|
-
import { formatDateToStringDate as
|
|
13
|
-
import { useDateFormatter as
|
|
14
|
-
import be from "../../../assets/icons/feature-icon-check.svg.js";
|
|
13
|
+
import { formatDateToStringDate as he } from "../../../helpers/dateFormatting.js";
|
|
14
|
+
import { useDateFormatter as be } from "../../../hooks/useDateFormatter.js";
|
|
15
15
|
import ge from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
|
|
16
16
|
import { PayrollStatusBadges as Se } from "../PayrollStatusBadges/PayrollStatusBadges.js";
|
|
17
17
|
import { DataView as ke } from "../../Common/DataView/DataView.js";
|
|
@@ -20,40 +20,40 @@ const G = /* @__PURE__ */ new Set([
|
|
|
20
20
|
y.Correction,
|
|
21
21
|
y.DismissedEmployee
|
|
22
22
|
]);
|
|
23
|
-
function Le(r,
|
|
23
|
+
function Le(r, S, p) {
|
|
24
24
|
if (r.processed) return !1;
|
|
25
|
-
const D = r.payPeriod?.startDate ? new Date(r.payPeriod.startDate) : null,
|
|
26
|
-
return !!(
|
|
25
|
+
const D = r.payPeriod?.startDate ? new Date(r.payPeriod.startDate) : null, k = !r.offCycle || r.offCycleReason === y.TransitionFromOldPaySchedule, d = S.length === 0 && k && p && D && p >= D, L = r.offCycle && !!r.offCycleReason && G.has(r.offCycleReason);
|
|
26
|
+
return !!(d || L);
|
|
27
27
|
}
|
|
28
28
|
const _e = ({
|
|
29
29
|
onRunPayroll: r,
|
|
30
|
-
onSubmitPayroll:
|
|
30
|
+
onSubmitPayroll: S,
|
|
31
31
|
onSkipPayroll: p,
|
|
32
32
|
onDeletePayroll: D,
|
|
33
|
-
onRunOffCyclePayroll:
|
|
34
|
-
payrolls:
|
|
35
|
-
pagination:
|
|
36
|
-
paySchedules:
|
|
33
|
+
onRunOffCyclePayroll: k,
|
|
34
|
+
payrolls: d,
|
|
35
|
+
pagination: L,
|
|
36
|
+
paySchedules: I,
|
|
37
37
|
showSkipSuccessAlert: J,
|
|
38
38
|
onDismissSkipSuccessAlert: Q,
|
|
39
39
|
showDeleteSuccessAlert: X,
|
|
40
40
|
onDismissDeleteSuccessAlert: Z,
|
|
41
41
|
skippingPayrollId: x,
|
|
42
42
|
deletingPayrollId: $,
|
|
43
|
-
blockers:
|
|
43
|
+
blockers: A,
|
|
44
44
|
wireInRequests: ee,
|
|
45
45
|
dateRangeFilter: s,
|
|
46
46
|
hasUnprocessedTransitions: te = !1
|
|
47
47
|
}) => {
|
|
48
|
-
const { Box: ae, Button:
|
|
48
|
+
const { Box: ae, Button: O, ButtonIcon: N, Dialog: E, Heading: le, Text: v, Alert: w } = Pe();
|
|
49
49
|
Ce("Payroll.PayrollList");
|
|
50
|
-
const { t } = me("Payroll.PayrollList"),
|
|
51
|
-
const e =
|
|
50
|
+
const { t } = me("Payroll.PayrollList"), u = be(), F = ue(null), B = ge({ ref: F }).includes("large"), P = q(() => {
|
|
51
|
+
const e = he(/* @__PURE__ */ new Date());
|
|
52
52
|
return e ? new Date(e) : null;
|
|
53
53
|
}, []), T = q(
|
|
54
|
-
() =>
|
|
55
|
-
[
|
|
56
|
-
), [
|
|
54
|
+
() => d.some((e) => Le(e, A, P)),
|
|
55
|
+
[d, A, P]
|
|
56
|
+
), [C, H] = V({
|
|
57
57
|
isOpen: !1,
|
|
58
58
|
payrollId: null,
|
|
59
59
|
payPeriod: null
|
|
@@ -70,8 +70,8 @@ const _e = ({
|
|
|
70
70
|
payPeriod: null
|
|
71
71
|
});
|
|
72
72
|
}, re = () => {
|
|
73
|
-
|
|
74
|
-
}, [
|
|
73
|
+
C.payrollId && (p({ payrollUuid: C.payrollId }), M());
|
|
74
|
+
}, [h, R] = V({
|
|
75
75
|
isOpen: !1,
|
|
76
76
|
payrollId: null,
|
|
77
77
|
payPeriod: null
|
|
@@ -88,38 +88,38 @@ const _e = ({
|
|
|
88
88
|
payPeriod: null
|
|
89
89
|
});
|
|
90
90
|
}, ie = () => {
|
|
91
|
-
|
|
91
|
+
h.payrollId && (D({ payrollUuid: h.payrollId }), U());
|
|
92
92
|
}, W = (e, l) => {
|
|
93
|
-
const i =
|
|
93
|
+
const i = u.formatShort(e), n = u.formatShortWithYear(l);
|
|
94
94
|
return {
|
|
95
95
|
startDate: i,
|
|
96
96
|
endDate: n,
|
|
97
|
-
fullPeriod:
|
|
97
|
+
fullPeriod: u.formatPayPeriodRange(e, l, { useShortMonth: !0 })
|
|
98
98
|
};
|
|
99
99
|
}, j = (e) => {
|
|
100
|
-
const { payrollUuid: l, calculatedAt: i, processed: n, payPeriod:
|
|
100
|
+
const { payrollUuid: l, calculatedAt: i, processed: n, payPeriod: b } = e;
|
|
101
101
|
if (n)
|
|
102
102
|
return null;
|
|
103
|
-
const
|
|
103
|
+
const g = x === l, m = !e.offCycle && te;
|
|
104
104
|
return i ? /* @__PURE__ */ a(
|
|
105
|
-
|
|
105
|
+
O,
|
|
106
106
|
{
|
|
107
|
-
isLoading:
|
|
108
|
-
isDisabled:
|
|
107
|
+
isLoading: g,
|
|
108
|
+
isDisabled: m,
|
|
109
109
|
onClick: () => {
|
|
110
|
-
|
|
110
|
+
S({ payrollUuid: l, payPeriod: b });
|
|
111
111
|
},
|
|
112
112
|
title: t("submitPayrollCta"),
|
|
113
113
|
variant: "secondary",
|
|
114
114
|
children: t("submitPayrollCta")
|
|
115
115
|
}
|
|
116
116
|
) : /* @__PURE__ */ a(
|
|
117
|
-
|
|
117
|
+
O,
|
|
118
118
|
{
|
|
119
|
-
isLoading:
|
|
120
|
-
isDisabled:
|
|
119
|
+
isLoading: g,
|
|
120
|
+
isDisabled: m,
|
|
121
121
|
onClick: () => {
|
|
122
|
-
r({ payrollUuid: l, payPeriod:
|
|
122
|
+
r({ payrollUuid: l, payPeriod: b });
|
|
123
123
|
},
|
|
124
124
|
title: t("runPayrollTitle"),
|
|
125
125
|
variant: "secondary",
|
|
@@ -127,7 +127,7 @@ const _e = ({
|
|
|
127
127
|
}
|
|
128
128
|
);
|
|
129
129
|
};
|
|
130
|
-
return /* @__PURE__ */ a("div", { ref:
|
|
130
|
+
return /* @__PURE__ */ a("div", { ref: F, className: o.container, children: /* @__PURE__ */ c(f, { flexDirection: "column", gap: 16, children: [
|
|
131
131
|
J && /* @__PURE__ */ a("div", { className: o.alertContainer, children: /* @__PURE__ */ a(
|
|
132
132
|
w,
|
|
133
133
|
{
|
|
@@ -144,10 +144,10 @@ const _e = ({
|
|
|
144
144
|
onDismiss: Z
|
|
145
145
|
}
|
|
146
146
|
) }),
|
|
147
|
-
/* @__PURE__ */ c(
|
|
147
|
+
/* @__PURE__ */ c(f, { justifyContent: "space-between", alignItems: "center", children: [
|
|
148
148
|
/* @__PURE__ */ a(le, { as: "h2", children: t("title") }),
|
|
149
149
|
/* @__PURE__ */ a(
|
|
150
|
-
|
|
150
|
+
De,
|
|
151
151
|
{
|
|
152
152
|
startDate: s.filterStartDate,
|
|
153
153
|
endDate: s.filterEndDate,
|
|
@@ -171,12 +171,9 @@ const _e = ({
|
|
|
171
171
|
ke,
|
|
172
172
|
{
|
|
173
173
|
breakAt: "large",
|
|
174
|
-
pagination:
|
|
175
|
-
emptyState: () => /* @__PURE__ */
|
|
176
|
-
|
|
177
|
-
/* @__PURE__ */ a(C, { children: t("emptyState") })
|
|
178
|
-
] }),
|
|
179
|
-
data: u,
|
|
174
|
+
pagination: L,
|
|
175
|
+
emptyState: () => /* @__PURE__ */ a(ye, { title: t("emptyState") }),
|
|
176
|
+
data: d,
|
|
180
177
|
columns: [
|
|
181
178
|
{
|
|
182
179
|
render: ({ payPeriod: e }) => {
|
|
@@ -188,7 +185,7 @@ const _e = ({
|
|
|
188
185
|
l,
|
|
189
186
|
" - ",
|
|
190
187
|
i,
|
|
191
|
-
/* @__PURE__ */ a(
|
|
188
|
+
/* @__PURE__ */ a(v, { variant: "supporting", size: "sm", children: I.find((n) => n.uuid === e?.payScheduleUuid)?.name || I.find((n) => n.uuid === e?.payScheduleUuid)?.customName })
|
|
192
189
|
] });
|
|
193
190
|
},
|
|
194
191
|
title: t("tableHeaders.0")
|
|
@@ -198,12 +195,12 @@ const _e = ({
|
|
|
198
195
|
title: t("tableHeaders.1")
|
|
199
196
|
},
|
|
200
197
|
{
|
|
201
|
-
render: ({ checkDate: e }) =>
|
|
198
|
+
render: ({ checkDate: e }) => u.formatShortWithWeekdayAndYear(e),
|
|
202
199
|
title: t("tableHeaders.2")
|
|
203
200
|
},
|
|
204
201
|
{
|
|
205
202
|
title: t("tableHeaders.3"),
|
|
206
|
-
render: ({ payrollDeadline: e }) =>
|
|
203
|
+
render: ({ payrollDeadline: e }) => u.formatShortWithWeekdayAndYear(e)
|
|
207
204
|
},
|
|
208
205
|
{
|
|
209
206
|
title: t("tableHeaders.4"),
|
|
@@ -219,14 +216,14 @@ const _e = ({
|
|
|
219
216
|
title: "",
|
|
220
217
|
render: (e) => {
|
|
221
218
|
const l = j(e);
|
|
222
|
-
return l ? /* @__PURE__ */ a(
|
|
219
|
+
return l ? /* @__PURE__ */ a(f, { flexDirection: "column", alignItems: "stretch", gap: 12, children: l }) : null;
|
|
223
220
|
}
|
|
224
221
|
}
|
|
225
222
|
]
|
|
226
223
|
],
|
|
227
224
|
label: t("payrollsListLabel"),
|
|
228
225
|
itemMenu: (e) => {
|
|
229
|
-
const { payrollUuid: l, processed: i, payPeriod: n } = e,
|
|
226
|
+
const { payrollUuid: l, processed: i, payPeriod: n } = e, b = x === l, g = $ === l, Y = B ? j(e) : null;
|
|
230
227
|
if (i)
|
|
231
228
|
return /* @__PURE__ */ a("div", { className: o.actionsContainer, children: T && /* @__PURE__ */ a(
|
|
232
229
|
N,
|
|
@@ -238,30 +235,30 @@ const _e = ({
|
|
|
238
235
|
className: o.menuPlaceholder
|
|
239
236
|
}
|
|
240
237
|
) });
|
|
241
|
-
const { fullPeriod:
|
|
238
|
+
const { fullPeriod: m } = W(
|
|
242
239
|
n?.startDate,
|
|
243
240
|
n?.endDate
|
|
244
|
-
), _ = n?.startDate ? new Date(n.startDate) : null, se = !e.offCycle || e.offCycleReason === y.TransitionFromOldPaySchedule, z =
|
|
241
|
+
), _ = n?.startDate ? new Date(n.startDate) : null, se = !e.offCycle || e.offCycleReason === y.TransitionFromOldPaySchedule, z = A.length === 0 && se && P && _ && P >= _, ce = e.offCycle && !!e.offCycleReason && G.has(e.offCycleReason), K = z ? [
|
|
245
242
|
{
|
|
246
243
|
label: t("skipPayrollCta"),
|
|
247
244
|
onClick: () => {
|
|
248
|
-
ne(l,
|
|
245
|
+
ne(l, m);
|
|
249
246
|
}
|
|
250
247
|
}
|
|
251
248
|
] : ce ? [
|
|
252
249
|
{
|
|
253
250
|
label: t("deletePayrollCta"),
|
|
254
251
|
onClick: () => {
|
|
255
|
-
oe(l,
|
|
252
|
+
oe(l, m);
|
|
256
253
|
}
|
|
257
254
|
}
|
|
258
255
|
] : null, de = K !== null;
|
|
259
256
|
return /* @__PURE__ */ c("div", { className: o.actionsContainer, children: [
|
|
260
257
|
Y,
|
|
261
258
|
de ? /* @__PURE__ */ a(
|
|
262
|
-
|
|
259
|
+
pe,
|
|
263
260
|
{
|
|
264
|
-
isLoading: z ?
|
|
261
|
+
isLoading: z ? b : g,
|
|
265
262
|
menuLabel: t("payrollMenuLabel"),
|
|
266
263
|
items: K
|
|
267
264
|
}
|
|
@@ -280,27 +277,27 @@ const _e = ({
|
|
|
280
277
|
}
|
|
281
278
|
),
|
|
282
279
|
/* @__PURE__ */ a(
|
|
283
|
-
|
|
280
|
+
E,
|
|
284
281
|
{
|
|
285
|
-
isOpen:
|
|
282
|
+
isOpen: C.isOpen,
|
|
286
283
|
onClose: M,
|
|
287
284
|
onPrimaryActionClick: re,
|
|
288
285
|
isDestructive: !0,
|
|
289
|
-
title: t("skipPayrollDialog.title", { payPeriod:
|
|
286
|
+
title: t("skipPayrollDialog.title", { payPeriod: C.payPeriod }),
|
|
290
287
|
primaryActionLabel: t("skipPayrollDialog.confirmCta"),
|
|
291
288
|
closeActionLabel: t("skipPayrollDialog.cancelCta"),
|
|
292
289
|
children: t("skipPayrollDialog.body")
|
|
293
290
|
}
|
|
294
291
|
),
|
|
295
292
|
/* @__PURE__ */ a(
|
|
296
|
-
|
|
293
|
+
E,
|
|
297
294
|
{
|
|
298
|
-
isOpen:
|
|
295
|
+
isOpen: h.isOpen,
|
|
299
296
|
onClose: U,
|
|
300
297
|
onPrimaryActionClick: ie,
|
|
301
298
|
isDestructive: !0,
|
|
302
299
|
title: t("deletePayrollDialog.title", {
|
|
303
|
-
payPeriod:
|
|
300
|
+
payPeriod: h.payPeriod
|
|
304
301
|
}),
|
|
305
302
|
primaryActionLabel: t("deletePayrollDialog.confirmCta"),
|
|
306
303
|
closeActionLabel: t("deletePayrollDialog.cancelCta"),
|
|
@@ -308,18 +305,18 @@ const _e = ({
|
|
|
308
305
|
}
|
|
309
306
|
),
|
|
310
307
|
/* @__PURE__ */ a(ae, { className: o.offCycleCta, children: /* @__PURE__ */ c(
|
|
311
|
-
|
|
308
|
+
f,
|
|
312
309
|
{
|
|
313
310
|
flexDirection: { base: "column", medium: "row" },
|
|
314
311
|
justifyContent: "space-between",
|
|
315
312
|
alignItems: { base: "stretch", medium: "center" },
|
|
316
313
|
gap: 16,
|
|
317
314
|
children: [
|
|
318
|
-
/* @__PURE__ */ c(
|
|
319
|
-
/* @__PURE__ */ a(
|
|
320
|
-
/* @__PURE__ */ a(
|
|
315
|
+
/* @__PURE__ */ c(f, { flexDirection: "column", gap: 4, children: [
|
|
316
|
+
/* @__PURE__ */ a(v, { weight: "bold", children: t("offCycleCta.title") }),
|
|
317
|
+
/* @__PURE__ */ a(v, { variant: "supporting", size: "sm", children: t("offCycleCta.description") })
|
|
321
318
|
] }),
|
|
322
|
-
/* @__PURE__ */ a("div", { className: o.offCycleCtaButton, children: /* @__PURE__ */ a(
|
|
319
|
+
/* @__PURE__ */ a("div", { className: o.offCycleCtaButton, children: /* @__PURE__ */ a(O, { variant: "secondary", onClick: k, children: t("offCycleCta.button") }) })
|
|
323
320
|
]
|
|
324
321
|
}
|
|
325
322
|
) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport { OffCycleReasonType } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport type { PayScheduleShow } from '@gusto/embedded-api-v-2025-11-15/models/components/payscheduleshow'\nimport type { WireInRequest } from '@gusto/embedded-api-v-2025-11-15/models/components/wireinrequest'\nimport { useState, useRef, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollTypeLabel } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { DataView, Flex, HamburgerMenu, DateRangeFilter } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport FeatureIconCheck from '@/assets/icons/feature-icon-check.svg?react'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\nconst CANCELLABLE_OFF_CYCLE_REASONS = new Set<string>([\n OffCycleReasonType.Bonus,\n OffCycleReasonType.Correction,\n OffCycleReasonType.DismissedEmployee,\n])\n\nfunction hasKebabActions(\n payroll: Payroll,\n blockers: ApiPayrollBlocker[],\n todayAtMidnight: Date | null,\n): boolean {\n if (payroll.processed) return false\n\n const payPeriodStartDate = payroll.payPeriod?.startDate\n ? new Date(payroll.payPeriod.startDate)\n : null\n\n const isSkippablePayroll =\n !payroll.offCycle || payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n return !!(canSkipPayroll || canDeletePayroll)\n}\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onDeletePayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onRunOffCyclePayroll: () => void\n payrolls: Payroll[]\n pagination?: PaginationControlProps\n paySchedules: PayScheduleShow[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n showDeleteSuccessAlert: boolean\n onDismissDeleteSuccessAlert: () => void\n skippingPayrollId: string | null\n deletingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n dateRangeFilter: UseDateRangeFilterResult\n hasUnprocessedTransitions?: boolean\n}\n\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onDeletePayroll,\n onRunOffCyclePayroll,\n payrolls,\n pagination,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n showDeleteSuccessAlert,\n onDismissDeleteSuccessAlert,\n skippingPayrollId,\n deletingPayrollId,\n blockers,\n wireInRequests,\n dateRangeFilter,\n hasUnprocessedTransitions = false,\n}: PayrollListPresentationProps) => {\n const { Box, Button, ButtonIcon, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('large')\n\n const todayAtMidnight = useMemo(() => {\n const todayDateString = formatDateToStringDate(new Date())\n return todayDateString ? new Date(todayDateString) : null\n }, [])\n\n const anyPayrollHasKebabActions = useMemo(\n () => payrolls.some(payroll => hasKebabActions(payroll, blockers, todayAtMidnight)),\n [payrolls, blockers, todayAtMidnight],\n )\n\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const [deletePayrollDialogState, setDeletePayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenDeleteDialog = (payrollId: string, payPeriod: string) => {\n setDeletePayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseDeleteDialog = () => {\n setDeletePayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmDeletePayroll = () => {\n if (deletePayrollDialogState.payrollId) {\n onDeletePayroll({ payrollUuid: deletePayrollDialogState.payrollId })\n handleCloseDeleteDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n const renderActionButton = (payroll: Payroll) => {\n const { payrollUuid, calculatedAt, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isRegular = !payroll.offCycle\n const isDisabledByTransition = isRegular && hasUnprocessedTransitions\n\n return calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16}>\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n {showDeleteSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('deleteSuccessAlert')}\n onDismiss={onDismissDeleteSuccessAlert}\n />\n </div>\n )}\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <DateRangeFilter\n startDate={dateRangeFilter.filterStartDate}\n endDate={dateRangeFilter.filterEndDate}\n onStartDateChange={dateRangeFilter.handleStartDateChange}\n onEndDateChange={dateRangeFilter.handleEndDateChange}\n onClear={dateRangeFilter.handleClearFilter}\n startDateLabel={t('dateFilter.startDate')}\n endDateLabel={t('dateFilter.endDate')}\n applyLabel={t('dateFilter.apply')}\n cancelLabel={t('dateFilter.cancel')}\n resetLabel={t('dateFilter.reset')}\n selectDatesLabel={t('dateFilter.selectDates')}\n triggerLabel={t('dateFilter.trigger')}\n isFilterActive={dateRangeFilter.isFilterActive}\n maxEndDate={dateRangeFilter.getMaxEndDate()}\n minStartDate={dateRangeFilter.getMinStartDate()}\n />\n </Flex>\n\n <DataView\n breakAt=\"large\"\n pagination={pagination}\n emptyState={() => (\n <Flex flexDirection=\"column\" alignItems=\"center\" gap={24}>\n <FeatureIconCheck />\n <Text>{t('emptyState')}</Text>\n </Flex>\n )}\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <div className={styles.payPeriodCell}>\n {startDate} - {endDate}\n <Text variant=\"supporting\" size=\"sm\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </div>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => getPayrollTypeLabel(payroll),\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => dateFormatter.formatShortWithWeekdayAndYear(checkDate),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) =>\n dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n ...(!isDesktop\n ? [\n {\n title: '',\n render: (payroll: Payroll) => {\n const button = renderActionButton(payroll)\n if (!button) return null\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]\n : []),\n ]}\n label={t('payrollsListLabel')}\n itemMenu={payroll => {\n const { payrollUuid, processed, payPeriod } = payroll\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isProcessingDeletePayroll = deletingPayrollId === payrollUuid\n\n const button = isDesktop ? renderActionButton(payroll) : null\n\n if (processed) {\n return (\n <div className={styles.actionsContainer}>\n {anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )}\n </div>\n )\n }\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const isSkippablePayroll =\n !payroll.offCycle ||\n payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n const menuItems = canSkipPayroll\n ? [\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : canDeletePayroll\n ? [\n {\n label: t('deletePayrollCta'),\n onClick: () => {\n handleOpenDeleteDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : null\n\n const hasMenuActions = menuItems !== null\n\n return (\n <div className={styles.actionsContainer}>\n {button}\n {hasMenuActions ? (\n <HamburgerMenu\n isLoading={canSkipPayroll ? isProcessingSkipPayroll : isProcessingDeletePayroll}\n menuLabel={t('payrollMenuLabel')}\n items={menuItems}\n />\n ) : (\n anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )\n )}\n </div>\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n <Dialog\n isOpen={deletePayrollDialogState.isOpen}\n onClose={handleCloseDeleteDialog}\n onPrimaryActionClick={handleConfirmDeletePayroll}\n isDestructive={true}\n title={t('deletePayrollDialog.title', {\n payPeriod: deletePayrollDialogState.payPeriod,\n })}\n primaryActionLabel={t('deletePayrollDialog.confirmCta')}\n closeActionLabel={t('deletePayrollDialog.cancelCta')}\n >\n {t('deletePayrollDialog.body')}\n </Dialog>\n <Box className={styles.offCycleCta}>\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems={{ base: 'stretch', medium: 'center' }}\n gap={16}\n >\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"bold\">{t('offCycleCta.title')}</Text>\n <Text variant=\"supporting\" size=\"sm\">\n {t('offCycleCta.description')}\n </Text>\n </Flex>\n <div className={styles.offCycleCtaButton}>\n <Button variant=\"secondary\" onClick={onRunOffCyclePayroll}>\n {t('offCycleCta.button')}\n </Button>\n </div>\n </Flex>\n </Box>\n </Flex>\n </div>\n )\n}\n"],"names":["CANCELLABLE_OFF_CYCLE_REASONS","OffCycleReasonType","hasKebabActions","payroll","blockers","todayAtMidnight","payPeriodStartDate","isSkippablePayroll","canSkipPayroll","canDeletePayroll","PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onDeletePayroll","onRunOffCyclePayroll","payrolls","pagination","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","showDeleteSuccessAlert","onDismissDeleteSuccessAlert","skippingPayrollId","deletingPayrollId","wireInRequests","dateRangeFilter","hasUnprocessedTransitions","Box","Button","ButtonIcon","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","useMemo","todayDateString","formatDateToStringDate","anyPayrollHasKebabActions","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","deletePayrollDialogState","setDeletePayrollDialogState","handleOpenDeleteDialog","handleCloseDeleteDialog","handleConfirmDeletePayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","renderActionButton","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","isDisabledByTransition","jsx","styles","jsxs","Flex","DateRangeFilter","DataView","FeatureIconCheck","schedule","getPayrollTypeLabel","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","button","isProcessingDeletePayroll","payPeriodString","menuItems","hasMenuActions","HamburgerMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PayrollListPresentation.js","sources":["../../../../src/components/Payroll/PayrollList/PayrollListPresentation.tsx"],"sourcesContent":["import type { Payroll } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport { OffCycleReasonType } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport type { PayScheduleShow } from '@gusto/embedded-api-v-2025-11-15/models/components/payscheduleshow'\nimport type { WireInRequest } from '@gusto/embedded-api-v-2025-11-15/models/components/wireinrequest'\nimport { useState, useRef, useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollTypeLabel } from '../helpers'\nimport styles from './PayrollListPresentation.module.scss'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport { DataView, Flex, HamburgerMenu, DateRangeFilter, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport { useI18n } from '@/i18n'\nimport { formatDateToStringDate } from '@/helpers/dateFormatting'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport useContainerBreakpoints from '@/hooks/useContainerBreakpoints/useContainerBreakpoints'\n\nconst CANCELLABLE_OFF_CYCLE_REASONS = new Set<string>([\n OffCycleReasonType.Bonus,\n OffCycleReasonType.Correction,\n OffCycleReasonType.DismissedEmployee,\n])\n\nfunction hasKebabActions(\n payroll: Payroll,\n blockers: ApiPayrollBlocker[],\n todayAtMidnight: Date | null,\n): boolean {\n if (payroll.processed) return false\n\n const payPeriodStartDate = payroll.payPeriod?.startDate\n ? new Date(payroll.payPeriod.startDate)\n : null\n\n const isSkippablePayroll =\n !payroll.offCycle || payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n return !!(canSkipPayroll || canDeletePayroll)\n}\n\ninterface PayrollListPresentationProps {\n onRunPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSubmitPayroll: ({ payrollUuid, payPeriod }: Pick<Payroll, 'payrollUuid' | 'payPeriod'>) => void\n onSkipPayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onDeletePayroll: ({ payrollUuid }: Pick<Payroll, 'payrollUuid'>) => void\n onRunOffCyclePayroll: () => void\n payrolls: Payroll[]\n pagination?: PaginationControlProps\n paySchedules: PayScheduleShow[]\n showSkipSuccessAlert: boolean\n onDismissSkipSuccessAlert: () => void\n showDeleteSuccessAlert: boolean\n onDismissDeleteSuccessAlert: () => void\n skippingPayrollId: string | null\n deletingPayrollId: string | null\n blockers: ApiPayrollBlocker[]\n wireInRequests: WireInRequest[]\n dateRangeFilter: UseDateRangeFilterResult\n hasUnprocessedTransitions?: boolean\n}\n\n/** @internal */\nexport const PayrollListPresentation = ({\n onRunPayroll,\n onSubmitPayroll,\n onSkipPayroll,\n onDeletePayroll,\n onRunOffCyclePayroll,\n payrolls,\n pagination,\n paySchedules,\n showSkipSuccessAlert,\n onDismissSkipSuccessAlert,\n showDeleteSuccessAlert,\n onDismissDeleteSuccessAlert,\n skippingPayrollId,\n deletingPayrollId,\n blockers,\n wireInRequests,\n dateRangeFilter,\n hasUnprocessedTransitions = false,\n}: PayrollListPresentationProps) => {\n const { Box, Button, ButtonIcon, Dialog, Heading, Text, Alert } = useComponentContext()\n useI18n('Payroll.PayrollList')\n const { t } = useTranslation('Payroll.PayrollList')\n const dateFormatter = useDateFormatter()\n const containerRef = useRef<HTMLDivElement>(null)\n const breakpoints = useContainerBreakpoints({ ref: containerRef })\n const isDesktop = breakpoints.includes('large')\n\n const todayAtMidnight = useMemo(() => {\n const todayDateString = formatDateToStringDate(new Date())\n return todayDateString ? new Date(todayDateString) : null\n }, [])\n\n const anyPayrollHasKebabActions = useMemo(\n () => payrolls.some(payroll => hasKebabActions(payroll, blockers, todayAtMidnight)),\n [payrolls, blockers, todayAtMidnight],\n )\n\n const [skipPayrollDialogState, setSkipPayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenSkipDialog = (payrollId: string, payPeriod: string) => {\n setSkipPayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseSkipDialog = () => {\n setSkipPayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmSkipPayroll = () => {\n if (skipPayrollDialogState.payrollId) {\n onSkipPayroll({ payrollUuid: skipPayrollDialogState.payrollId })\n handleCloseSkipDialog()\n }\n }\n\n const [deletePayrollDialogState, setDeletePayrollDialogState] = useState<{\n isOpen: boolean\n payrollId: string | null\n payPeriod: string | null\n }>({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n\n const handleOpenDeleteDialog = (payrollId: string, payPeriod: string) => {\n setDeletePayrollDialogState({\n isOpen: true,\n payrollId,\n payPeriod,\n })\n }\n\n const handleCloseDeleteDialog = () => {\n setDeletePayrollDialogState({\n isOpen: false,\n payrollId: null,\n payPeriod: null,\n })\n }\n\n const handleConfirmDeletePayroll = () => {\n if (deletePayrollDialogState.payrollId) {\n onDeletePayroll({ payrollUuid: deletePayrollDialogState.payrollId })\n handleCloseDeleteDialog()\n }\n }\n\n const formatPayPeriod = (startDate: string | undefined, endDate: string | undefined) => {\n const formattedStartDate = dateFormatter.formatShort(startDate)\n const formattedEndDate = dateFormatter.formatShortWithYear(endDate)\n\n return {\n startDate: formattedStartDate,\n endDate: formattedEndDate,\n fullPeriod: dateFormatter.formatPayPeriodRange(startDate, endDate, { useShortMonth: true }),\n }\n }\n\n const renderActionButton = (payroll: Payroll) => {\n const { payrollUuid, calculatedAt, processed, payPeriod } = payroll\n\n if (processed) {\n return null\n }\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isRegular = !payroll.offCycle\n const isDisabledByTransition = isRegular && hasUnprocessedTransitions\n\n return calculatedAt ? (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onSubmitPayroll({ payrollUuid, payPeriod })\n }}\n title={t('submitPayrollCta')}\n variant=\"secondary\"\n >\n {t('submitPayrollCta')}\n </Button>\n ) : (\n <Button\n isLoading={isProcessingSkipPayroll}\n isDisabled={isDisabledByTransition}\n onClick={() => {\n onRunPayroll({ payrollUuid, payPeriod })\n }}\n title={t('runPayrollTitle')}\n variant=\"secondary\"\n >\n {t('runPayrollTitle')}\n </Button>\n )\n }\n\n return (\n <div ref={containerRef} className={styles.container}>\n <Flex flexDirection=\"column\" gap={16}>\n {showSkipSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('skipSuccessAlert')}\n onDismiss={onDismissSkipSuccessAlert}\n />\n </div>\n )}\n {showDeleteSuccessAlert && (\n <div className={styles.alertContainer}>\n <Alert\n status=\"info\"\n label={t('deleteSuccessAlert')}\n onDismiss={onDismissDeleteSuccessAlert}\n />\n </div>\n )}\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <DateRangeFilter\n startDate={dateRangeFilter.filterStartDate}\n endDate={dateRangeFilter.filterEndDate}\n onStartDateChange={dateRangeFilter.handleStartDateChange}\n onEndDateChange={dateRangeFilter.handleEndDateChange}\n onClear={dateRangeFilter.handleClearFilter}\n startDateLabel={t('dateFilter.startDate')}\n endDateLabel={t('dateFilter.endDate')}\n applyLabel={t('dateFilter.apply')}\n cancelLabel={t('dateFilter.cancel')}\n resetLabel={t('dateFilter.reset')}\n selectDatesLabel={t('dateFilter.selectDates')}\n triggerLabel={t('dateFilter.trigger')}\n isFilterActive={dateRangeFilter.isFilterActive}\n maxEndDate={dateRangeFilter.getMaxEndDate()}\n minStartDate={dateRangeFilter.getMinStartDate()}\n />\n </Flex>\n\n <DataView\n breakAt=\"large\"\n pagination={pagination}\n emptyState={() => <EmptyData title={t('emptyState')} />}\n data={payrolls}\n columns={[\n {\n render: ({ payPeriod }) => {\n const { startDate, endDate } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n return (\n <div className={styles.payPeriodCell}>\n {startDate} - {endDate}\n <Text variant=\"supporting\" size=\"sm\">\n {paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.name ||\n paySchedules.find(schedule => schedule.uuid === payPeriod?.payScheduleUuid)\n ?.customName}\n </Text>\n </div>\n )\n },\n title: t('tableHeaders.0'),\n },\n {\n render: payroll => getPayrollTypeLabel(payroll),\n title: t('tableHeaders.1'),\n },\n {\n render: ({ checkDate }) => dateFormatter.formatShortWithWeekdayAndYear(checkDate),\n title: t('tableHeaders.2'),\n },\n {\n title: t('tableHeaders.3'),\n render: ({ payrollDeadline }) =>\n dateFormatter.formatShortWithWeekdayAndYear(payrollDeadline),\n },\n {\n title: t('tableHeaders.4'),\n render: payroll => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === payroll.payrollUuid,\n )\n return <PayrollStatusBadges payroll={payroll} wireInRequest={wireInRequest} />\n },\n },\n ...(!isDesktop\n ? [\n {\n title: '',\n render: (payroll: Payroll) => {\n const button = renderActionButton(payroll)\n if (!button) return null\n return (\n <Flex flexDirection=\"column\" alignItems=\"stretch\" gap={12}>\n {button}\n </Flex>\n )\n },\n },\n ]\n : []),\n ]}\n label={t('payrollsListLabel')}\n itemMenu={payroll => {\n const { payrollUuid, processed, payPeriod } = payroll\n\n const isProcessingSkipPayroll = skippingPayrollId === payrollUuid\n const isProcessingDeletePayroll = deletingPayrollId === payrollUuid\n\n const button = isDesktop ? renderActionButton(payroll) : null\n\n if (processed) {\n return (\n <div className={styles.actionsContainer}>\n {anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )}\n </div>\n )\n }\n\n const { fullPeriod: payPeriodString } = formatPayPeriod(\n payPeriod?.startDate,\n payPeriod?.endDate,\n )\n\n const payPeriodStartDate = payPeriod?.startDate ? new Date(payPeriod.startDate) : null\n\n const isSkippablePayroll =\n !payroll.offCycle ||\n payroll.offCycleReason === OffCycleReasonType.TransitionFromOldPaySchedule\n\n const canSkipPayroll =\n blockers.length === 0 &&\n isSkippablePayroll &&\n todayAtMidnight &&\n payPeriodStartDate &&\n todayAtMidnight >= payPeriodStartDate\n\n const canDeletePayroll =\n payroll.offCycle &&\n !!payroll.offCycleReason &&\n CANCELLABLE_OFF_CYCLE_REASONS.has(payroll.offCycleReason)\n\n const menuItems = canSkipPayroll\n ? [\n {\n label: t('skipPayrollCta'),\n onClick: () => {\n handleOpenSkipDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : canDeletePayroll\n ? [\n {\n label: t('deletePayrollCta'),\n onClick: () => {\n handleOpenDeleteDialog(payrollUuid!, payPeriodString)\n },\n },\n ]\n : null\n\n const hasMenuActions = menuItems !== null\n\n return (\n <div className={styles.actionsContainer}>\n {button}\n {hasMenuActions ? (\n <HamburgerMenu\n isLoading={canSkipPayroll ? isProcessingSkipPayroll : isProcessingDeletePayroll}\n menuLabel={t('payrollMenuLabel')}\n items={menuItems}\n />\n ) : (\n anyPayrollHasKebabActions && (\n <ButtonIcon\n aria-label=\"\"\n aria-hidden={true}\n tabIndex={-1}\n isDisabled={true}\n className={styles.menuPlaceholder}\n />\n )\n )}\n </div>\n )\n }}\n />\n <Dialog\n isOpen={skipPayrollDialogState.isOpen}\n onClose={handleCloseSkipDialog}\n onPrimaryActionClick={handleConfirmSkipPayroll}\n isDestructive={true}\n title={t('skipPayrollDialog.title', { payPeriod: skipPayrollDialogState.payPeriod })}\n primaryActionLabel={t('skipPayrollDialog.confirmCta')}\n closeActionLabel={t('skipPayrollDialog.cancelCta')}\n >\n {t('skipPayrollDialog.body')}\n </Dialog>\n <Dialog\n isOpen={deletePayrollDialogState.isOpen}\n onClose={handleCloseDeleteDialog}\n onPrimaryActionClick={handleConfirmDeletePayroll}\n isDestructive={true}\n title={t('deletePayrollDialog.title', {\n payPeriod: deletePayrollDialogState.payPeriod,\n })}\n primaryActionLabel={t('deletePayrollDialog.confirmCta')}\n closeActionLabel={t('deletePayrollDialog.cancelCta')}\n >\n {t('deletePayrollDialog.body')}\n </Dialog>\n <Box className={styles.offCycleCta}>\n <Flex\n flexDirection={{ base: 'column', medium: 'row' }}\n justifyContent=\"space-between\"\n alignItems={{ base: 'stretch', medium: 'center' }}\n gap={16}\n >\n <Flex flexDirection=\"column\" gap={4}>\n <Text weight=\"bold\">{t('offCycleCta.title')}</Text>\n <Text variant=\"supporting\" size=\"sm\">\n {t('offCycleCta.description')}\n </Text>\n </Flex>\n <div className={styles.offCycleCtaButton}>\n <Button variant=\"secondary\" onClick={onRunOffCyclePayroll}>\n {t('offCycleCta.button')}\n </Button>\n </div>\n </Flex>\n </Box>\n </Flex>\n </div>\n )\n}\n"],"names":["CANCELLABLE_OFF_CYCLE_REASONS","OffCycleReasonType","hasKebabActions","payroll","blockers","todayAtMidnight","payPeriodStartDate","isSkippablePayroll","canSkipPayroll","canDeletePayroll","PayrollListPresentation","onRunPayroll","onSubmitPayroll","onSkipPayroll","onDeletePayroll","onRunOffCyclePayroll","payrolls","pagination","paySchedules","showSkipSuccessAlert","onDismissSkipSuccessAlert","showDeleteSuccessAlert","onDismissDeleteSuccessAlert","skippingPayrollId","deletingPayrollId","wireInRequests","dateRangeFilter","hasUnprocessedTransitions","Box","Button","ButtonIcon","Dialog","Heading","Text","Alert","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","containerRef","useRef","isDesktop","useContainerBreakpoints","useMemo","todayDateString","formatDateToStringDate","anyPayrollHasKebabActions","skipPayrollDialogState","setSkipPayrollDialogState","useState","handleOpenSkipDialog","payrollId","payPeriod","handleCloseSkipDialog","handleConfirmSkipPayroll","deletePayrollDialogState","setDeletePayrollDialogState","handleOpenDeleteDialog","handleCloseDeleteDialog","handleConfirmDeletePayroll","formatPayPeriod","startDate","endDate","formattedStartDate","formattedEndDate","renderActionButton","payrollUuid","calculatedAt","processed","isProcessingSkipPayroll","isDisabledByTransition","jsx","styles","jsxs","Flex","DateRangeFilter","DataView","EmptyData","schedule","getPayrollTypeLabel","checkDate","payrollDeadline","wireInRequest","wire","PayrollStatusBadges","button","isProcessingDeletePayroll","payPeriodString","menuItems","hasMenuActions","HamburgerMenu"],"mappings":"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"}
|
|
@@ -1,13 +1,49 @@
|
|
|
1
1
|
import { PayrollFlowAlert } from '../PayrollFlow/PayrollFlowComponents';
|
|
2
2
|
import { ConfirmWireDetailsComponentType } from '../ConfirmWireDetails/ConfirmWireDetails';
|
|
3
3
|
import { BaseComponentInterface } from '../../Base';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Props for {@link PayrollOverview}.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.PayrollOverview'> {
|
|
10
|
+
/** Identifier of the company that owns the payroll. */
|
|
5
11
|
companyId: string;
|
|
12
|
+
/** Identifier of the payroll being reviewed. The payroll must already be calculated. */
|
|
6
13
|
payrollId: string;
|
|
14
|
+
/** Alert banners to display above the payroll summary. */
|
|
7
15
|
alerts?: PayrollFlowAlert[];
|
|
16
|
+
/** Whether reimbursement fields are shown in the totals and per-employee tables. Defaults to `true`. */
|
|
8
17
|
withReimbursements?: boolean;
|
|
18
|
+
/** Custom component to replace the default wire details confirmation UI. */
|
|
9
19
|
ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType;
|
|
10
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Final review screen for a calculated payroll before submission, with submit, cancel,
|
|
23
|
+
* and edit controls. After submission, tracks processing status and surfaces the receipt
|
|
24
|
+
* and per-employee paystub downloads once complete.
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* The payroll referenced by `payrollId` must already be calculated; rendering with an
|
|
28
|
+
* uncalculated payroll throws. Unresolved submission blockers (e.g. fast-ACH threshold,
|
|
29
|
+
* wire-in funding) are surfaced inline and the submit action stays disabled until each
|
|
30
|
+
* blocker has a selected unblock option. While the payroll is processing, the component
|
|
31
|
+
* polls until success or failure and emits the corresponding event.
|
|
32
|
+
*
|
|
33
|
+
* | Event | Description | Data |
|
|
34
|
+
* | ----- | ----------- | ---- |
|
|
35
|
+
* | `runPayroll/edit` | User chose to edit the payroll before submitting | — |
|
|
36
|
+
* | `runPayroll/submitting` | Submit request was sent to the API | — |
|
|
37
|
+
* | `runPayroll/submitted` | Payroll was successfully submitted | Submit payroll response |
|
|
38
|
+
* | `runPayroll/processed` | Payroll finished processing successfully | `{ payPeriod, payrollUuid }` |
|
|
39
|
+
* | `runPayroll/processingFailed` | Payroll processing failed | — |
|
|
40
|
+
* | `runPayroll/cancelled` | Payroll was cancelled | Cancel payroll response |
|
|
41
|
+
* | `runPayroll/receipt/get` | User requested the payroll receipt | `{ payrollId }` |
|
|
42
|
+
* | `runPayroll/pdfPaystub/viewed` | User opened an employee's paystub PDF | `{ employeeId }` |
|
|
43
|
+
* | `payroll/wire/form/done` | Wire-in details were confirmed via the embedded wire form | Submit wire-in response |
|
|
44
|
+
*
|
|
45
|
+
* @param props - See {@link PayrollOverviewProps}.
|
|
46
|
+
* @returns The payroll overview surface.
|
|
47
|
+
* @public
|
|
48
|
+
*/
|
|
11
49
|
export declare function PayrollOverview(props: PayrollOverviewProps): import("react").JSX.Element;
|
|
12
|
-
export declare const Root: ({ companyId, payrollId, dictionary, onEvent, alerts, withReimbursements, ConfirmWireDetailsComponent, }: PayrollOverviewProps) => import("react").JSX.Element;
|
|
13
|
-
export {};
|