@gusto/embedded-react-sdk 0.51.2 → 0.52.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/components/Base/Base.d.ts +2 -0
  3. package/dist/components/Base/Base.js.map +1 -1
  4. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +1 -1
  5. package/dist/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
  6. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  7. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +4 -1
  8. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
  9. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
  10. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +1 -1
  11. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  12. package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -2
  13. package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +3 -2
  14. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +1 -1
  15. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
  16. package/dist/components/Common/UI/FormBox/FormBox.d.ts +9 -0
  17. package/dist/components/Common/UI/FormBox/FormBox.js +13 -0
  18. package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -0
  19. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +14 -0
  20. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -0
  21. package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +26 -0
  22. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.d.ts +9 -0
  23. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js +23 -0
  24. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js.map +1 -0
  25. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js +8 -0
  26. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js.map +1 -0
  27. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.d.ts +36 -0
  28. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js +7 -0
  29. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js.map +1 -0
  30. package/dist/components/Common/UI/FormBoxHeader/index.d.ts +1 -0
  31. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -0
  32. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  33. package/dist/components/Common/UI/Menu/MenuTypes.d.ts +3 -3
  34. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  35. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -2
  36. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -2
  37. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  38. package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -2
  39. package/dist/components/Common/UI/Table/TableTypes.d.ts +4 -4
  40. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  41. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -2
  42. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +1 -2
  43. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  44. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  45. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +1 -1
  46. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  47. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  48. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  49. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  50. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +1 -1
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  52. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  53. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +1 -1
  54. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  55. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  56. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -1
  57. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +1 -1
  58. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  59. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  60. package/dist/components/Company/Industry/Context.js +8 -6
  61. package/dist/components/Company/Industry/Context.js.map +1 -1
  62. package/dist/components/Company/Locations/LocationForm/Form.d.ts +1 -1
  63. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  64. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  65. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  66. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  67. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  68. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  69. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +3 -3
  70. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +1 -1
  71. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +10 -1
  72. package/dist/components/Company/StateTaxes/StateTaxes.js +23 -17
  73. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  74. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
  75. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +17 -10
  76. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +26 -26
  80. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  81. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +9 -0
  82. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +24 -24
  83. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  84. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  85. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  86. package/dist/components/Contractor/Address/Address.d.ts +4 -3
  87. package/dist/components/Contractor/Address/Address.js.map +1 -1
  88. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +2 -2
  89. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +1 -1
  90. package/dist/components/Contractor/ContractorList/index.d.ts +2 -1
  91. package/dist/components/Contractor/ContractorList/index.js +123 -98
  92. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  93. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +22 -19
  94. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
  95. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.d.ts +1 -1
  96. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +1 -1
  97. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +1 -1
  98. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +1 -1
  99. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  100. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +2 -0
  101. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +150 -80
  103. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  104. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.test.d.ts +1 -0
  105. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +1 -1
  106. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +1 -1
  107. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -1
  108. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +2 -2
  109. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  110. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -1
  111. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  112. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +2 -2
  113. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  114. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +17 -5
  115. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +32 -31
  116. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  117. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +16 -4
  118. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +33 -29
  119. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  120. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +1 -1
  121. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +19 -18
  122. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
  123. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +1 -1
  124. package/dist/components/Contractor/Profile/ContractorProfile.js +114 -110
  125. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  126. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +27 -26
  127. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
  128. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -1
  129. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +6 -6
  130. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  131. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +1 -1
  132. package/dist/components/Contractor/Submit/Submit.js +106 -63
  133. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  134. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +0 -4
  135. package/dist/components/Employee/Compensation/onboarding/Compensation.js +38 -42
  136. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  137. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +2 -2
  138. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +1 -1
  139. package/dist/components/Employee/Dashboard/index.d.ts +1 -1
  140. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -1
  141. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +1 -1
  142. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -2
  143. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  144. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  145. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +2 -2
  146. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -4
  147. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  148. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -2
  149. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js +27 -32
  150. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  151. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -2
  152. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  153. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +2 -2
  154. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +1 -1
  155. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +1 -1
  156. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +1 -3
  157. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  158. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +55 -49
  159. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  160. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -1
  161. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +1 -1
  162. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
  163. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
  164. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +1 -1
  165. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +2 -2
  166. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
  167. package/dist/components/Employee/exports/employeeManagement.d.ts +1 -1
  168. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +4 -5
  169. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +101 -125
  170. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  171. package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +0 -5
  172. package/dist/components/InformationRequests/InformationRequestsComponents.js +12 -13
  173. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
  174. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +4 -4
  175. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  176. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +1 -1
  177. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +8 -8
  178. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  179. package/dist/components/Payroll/OffCycle/index.d.ts +1 -1
  180. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +1 -1
  181. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +97 -92
  182. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  183. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +2 -3
  184. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  185. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -2
  186. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
  187. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  188. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +57 -56
  189. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  190. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  191. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +23 -6
  192. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +37 -33
  193. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  194. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +2 -2
  195. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +6 -6
  196. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  197. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -1
  198. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  199. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
  200. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  201. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  202. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -1
  203. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
  204. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  205. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
  206. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +31 -31
  207. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  208. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +9 -5
  209. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  210. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +1 -1
  211. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +1 -1
  212. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  213. package/dist/components/Payroll/Transition/index.d.ts +1 -1
  214. package/dist/components/Payroll/helpers.d.ts +22 -8
  215. package/dist/components/Payroll/helpers.js +1 -1
  216. package/dist/components/Payroll/helpers.js.map +1 -1
  217. package/dist/components/Payroll/index.d.ts +3 -2
  218. package/dist/components/Payroll/payrollTypes.d.ts +1 -1
  219. package/dist/components/Payroll/payrollTypes.js +1 -1
  220. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  221. package/dist/components/Payroll/usePreparedPayrollData.d.ts +1 -1
  222. package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
  223. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  224. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -1
  225. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +19 -19
  226. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  227. package/dist/contexts/ApiProvider/ApiProvider.d.ts +5 -5
  228. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  229. package/dist/contexts/ApiProvider/apiVersion.d.ts +2 -2
  230. package/dist/contexts/ApiProvider/apiVersion.js +1 -1
  231. package/dist/contexts/ApiProvider/apiVersion.js.map +1 -1
  232. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +40 -36
  233. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  234. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +2 -0
  235. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
  236. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +18 -16
  237. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  238. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +7 -1
  239. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  240. package/dist/contexts/GustoProvider/GustoProvider.d.ts +5 -5
  241. package/dist/contexts/GustoProvider/GustoProvider.js +6 -6
  242. package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
  243. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +8 -7
  244. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +8 -8
  245. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  246. package/dist/contexts/GustoProvider/index.d.ts +1 -1
  247. package/dist/contexts/ThemeProvider/types.d.ts +2 -2
  248. package/dist/contexts/index.d.ts +2 -6
  249. package/dist/i18n/en/Contractor.ContractorList.json.js +22 -18
  250. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  251. package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
  252. package/dist/i18n/en/Contractor.Submit.json.js +11 -11
  253. package/dist/i18n/en/Employee.OnboardingSummary.json.js +24 -20
  254. package/dist/i18n/en/Employee.OnboardingSummary.json.js.map +1 -1
  255. package/dist/i18n/types.d.ts +15 -3
  256. package/dist/index.d.ts +8 -7
  257. package/dist/index.js +121 -134
  258. package/dist/index.js.map +1 -1
  259. package/dist/models/WA_RISK_CODES.d.ts +6 -2
  260. package/dist/models/WA_RISK_CODES.js.map +1 -1
  261. package/dist/models/external.d.ts +67 -57
  262. package/dist/partner-hook-utils/composeErrorHandler.d.ts +13 -4
  263. package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
  264. package/dist/partner-hook-utils/form/SDKFormProvider.d.ts +11 -2
  265. package/dist/partner-hook-utils/form/SDKFormProvider.js +7 -1
  266. package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
  267. package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +11 -4
  268. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  269. package/dist/partner-hook-utils/form/fields/CheckboxHookField.d.ts +1 -0
  270. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  271. package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +1 -0
  272. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  273. package/dist/partner-hook-utils/form/fields/NumberInputHookField.d.ts +1 -0
  274. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  275. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +1 -0
  276. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  277. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +1 -0
  278. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  279. package/dist/partner-hook-utils/form/fields/SwitchHookField.d.ts +1 -0
  280. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  281. package/dist/partner-hook-utils/form/fields/TextInputHookField.d.ts +1 -0
  282. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  283. package/dist/partner-hook-utils/form/fields/index.d.ts +1 -0
  284. package/dist/partner-hook-utils/form/index.d.ts +3 -3
  285. package/dist/partner-hook-utils/form/useHookFieldResolution.js.map +1 -1
  286. package/dist/partner-hook-utils/index.d.ts +1 -1
  287. package/dist/partner-hook-utils/types.d.ts +16 -3
  288. package/dist/shared/constants.d.ts +12 -2
  289. package/dist/shared/constants.js +11 -10
  290. package/dist/shared/constants.js.map +1 -1
  291. package/dist/style.css +1 -1
  292. package/dist/types/Helpers.d.ts +13 -0
  293. package/dist/types/hooks.d.ts +2 -1
  294. package/dist/types/observability.d.ts +1 -0
  295. package/docs/guides/endpoint-inventory.json +396 -380
  296. package/package.json +17 -17
@@ -1,68 +1,71 @@
1
- import { jsx as P } from "react/jsx-runtime";
1
+ import { jsx as m } from "react/jsx-runtime";
2
2
  import { useMemo as x } from "react";
3
- import { createMachine as v } from "robot3";
4
- import { PayrollOverviewContextual as E, PayrollConfigurationContextual as M, SaveAndExitCta as C } from "../PayrollFlow/PayrollFlowComponents.js";
5
- import { payrollExecutionMachine as g, getPayrollExecutionBreadcrumbsNodes as A } from "./payrollExecutionMachine.js";
6
- import { Flow as N } from "../../Flow/Flow.js";
7
- import { buildBreadcrumbs as w, updateBreadcrumbs as O } from "../../../helpers/breadcrumbHelpers.js";
8
- const B = [], _ = {
3
+ import { createMachine as E } from "robot3";
4
+ import { PayrollOverviewContextual as v, PayrollConfigurationContextual as M, SaveAndExitCta as C } from "../PayrollFlow/PayrollFlowComponents.js";
5
+ import { payrollExecutionMachine as g, getPayrollExecutionBreadcrumbsNodes as w } from "./payrollExecutionMachine.js";
6
+ import { Flow as A } from "../../Flow/Flow.js";
7
+ import { buildBreadcrumbs as N, updateBreadcrumbs as O } from "../../../helpers/breadcrumbHelpers.js";
8
+ const B = [], F = {
9
9
  configuration: M,
10
- overview: E
11
- }, h = {
10
+ overview: v
11
+ }, I = {
12
12
  configuration: "Payroll.PayrollConfiguration",
13
13
  overview: "Payroll.PayrollOverview"
14
14
  };
15
- function K({
16
- companyId: a,
15
+ function R(r) {
16
+ return /* @__PURE__ */ m(_, { ...r });
17
+ }
18
+ function _({
19
+ companyId: r,
17
20
  payrollId: n,
18
- onEvent: m,
19
- initialPayPeriod: e,
21
+ onEvent: i,
22
+ initialPayPeriod: t,
20
23
  isDismissalPayroll: c = !1,
21
24
  withReimbursements: l = !0,
22
25
  ConfirmWireDetailsComponent: u,
23
26
  prefixBreadcrumbs: s = B,
24
27
  initialState: o = "configuration"
25
28
  }) {
26
- const i = x(() => {
27
- const f = A(c), b = w(f), d = s.map(({ onNavigate: r, ...t }) => t), p = Object.fromEntries(
28
- Object.entries(b).map(([r, t]) => [
29
- r,
30
- [...d, ...t]
29
+ const f = x(() => {
30
+ const b = w(c), d = N(b), p = s.map(({ onNavigate: e, ...a }) => a), y = Object.fromEntries(
31
+ Object.entries(d).map(([e, a]) => [
32
+ e,
33
+ [...p, ...a]
31
34
  ])
32
- ), y = O(
35
+ ), P = O(
33
36
  o,
34
37
  {
35
38
  header: {
36
39
  type: "breadcrumbs",
37
- breadcrumbs: p,
40
+ breadcrumbs: y,
38
41
  cta: C
39
42
  }
40
43
  },
41
44
  {
42
- startDate: e?.startDate ?? "",
43
- endDate: e?.endDate ?? ""
45
+ startDate: t?.startDate ?? "",
46
+ endDate: t?.endDate ?? ""
44
47
  }
45
48
  );
46
- return v(
49
+ return E(
47
50
  o,
48
51
  g,
49
- (r) => ({
50
- ...r,
51
- ...y,
52
- component: _[o],
53
- companyId: a,
52
+ (e) => ({
53
+ ...e,
54
+ ...P,
55
+ component: F[o],
56
+ companyId: r,
54
57
  payrollUuid: n,
55
- payPeriod: e,
58
+ payPeriod: t,
56
59
  withReimbursements: l,
57
60
  ConfirmWireDetailsComponent: u,
58
61
  ctaConfig: {
59
62
  labelKey: "exitFlowCta",
60
- namespace: h[o]
63
+ namespace: I[o]
61
64
  }
62
65
  })
63
66
  );
64
67
  }, [
65
- a,
68
+ r,
66
69
  n,
67
70
  c,
68
71
  l,
@@ -70,9 +73,10 @@ function K({
70
73
  s,
71
74
  o
72
75
  ]);
73
- return /* @__PURE__ */ P(N, { machine: i, onEvent: m });
76
+ return /* @__PURE__ */ m(A, { machine: f, onEvent: i });
74
77
  }
75
78
  export {
76
- K as PayrollExecutionFlow
79
+ R as PayrollExecutionFlow,
80
+ _ as PayrollExecutionInternalFlow
77
81
  };
78
82
  //# sourceMappingURL=PayrollExecutionFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollExecutionFlow.js","sources":["../../../../src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport type { PayrollPayPeriodType } from '@gusto/embedded-api/models/components/payrollpayperiodtype'\nimport type { ConfirmWireDetailsComponentType } from '../ConfirmWireDetails/ConfirmWireDetails'\nimport {\n PayrollConfigurationContextual,\n PayrollOverviewContextual,\n SaveAndExitCta,\n type PayrollFlowContextInterface,\n} from '../PayrollFlow/PayrollFlowComponents'\nimport {\n payrollExecutionMachine,\n getPayrollExecutionBreadcrumbsNodes,\n} from './payrollExecutionMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { FlowBreadcrumb } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { buildBreadcrumbs, updateBreadcrumbs } from '@/helpers/breadcrumbHelpers'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { EventType } from '@/shared/constants'\n\nconst EMPTY_BREADCRUMBS: FlowBreadcrumb[] = []\n\n/**\n * Entry point for {@link PayrollExecutionFlow}. Determines which screen the flow renders first.\n *\n * @public\n */\nexport type PayrollExecutionInitialState = 'configuration' | 'overview'\n\n/**\n * Props for {@link PayrollExecutionFlow}.\n *\n * @public\n */\nexport interface PayrollExecutionFlowProps {\n /** The associated company identifier. */\n companyId: string\n /**\n * The identifier of the payroll to execute. The payroll must already exist (e.g. created by a\n * prior creation step or by the standard `PayrollFlow` selection).\n */\n payrollId: string\n /** Event handler that receives the `RUN_PAYROLL_*` events emitted during the flow. */\n onEvent: OnEventType<EventType, unknown>\n /** Optional pay period metadata used to seed breadcrumb labels and date context. */\n initialPayPeriod?: PayrollPayPeriodType\n /**\n * When true, surfaces dismissal-specific copy and breadcrumbs (used by `Payroll.DismissalFlow`).\n * Defaults to `false`.\n */\n isDismissalPayroll?: boolean\n /** Optional flag to show or hide reimbursement fields throughout the flow. Defaults to `true`. */\n withReimbursements?: boolean\n /** Optional custom component to replace the default wire details confirmation UI. */\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n /**\n * Optional breadcrumbs prepended to the flow's own breadcrumb trail. Useful when embedding inside\n * a parent flow (e.g. an off-cycle creation step) so the breadcrumb history remains coherent.\n */\n prefixBreadcrumbs?: FlowBreadcrumb[]\n /**\n * Where the flow starts. Use `'overview'` when you want to drop the user directly on the review\n * screen (e.g. resuming an already-calculated payroll). Defaults to `'configuration'`.\n */\n initialState?: PayrollExecutionInitialState\n}\n\nconst INITIAL_COMPONENT_MAP = {\n configuration: PayrollConfigurationContextual,\n overview: PayrollOverviewContextual,\n} as const\n\nconst INITIAL_NAMESPACE_MAP = {\n configuration: 'Payroll.PayrollConfiguration' as const,\n overview: 'Payroll.PayrollOverview' as const,\n} as const\n\n/**\n * Guided flow to configure, review, and submit a single payroll.\n *\n * @remarks\n * This is the inner flow that powers the back half of `Payroll.PayrollFlow`, and it is also reused\n * by the off-cycle, dismissal, and transition flows after they have created their respective\n * payrolls. Render it directly when you have built your own payroll-creation step and want to hand\n * the user off to the standard execution experience without re-implementing it. The flow ships\n * with breadcrumb navigation and the standard wire-confirmation UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/edit` | Fired when user chooses to edit payroll | — |\n * | `runPayroll/calculated` | Fired when payroll calculation completes | `{ payrollUuid, payPeriod?, alert? }` |\n * | `runPayroll/employee/edit` | Fired when user opens an employee row to edit | `{ employeeId, firstName, lastName }` |\n * | `runPayroll/employee/saved` | Fired when employee edits are saved | — |\n * | `runPayroll/employee/cancelled` | Fired when employee edits are cancelled | — |\n * | `runPayroll/submitting` | Fired when payroll submission begins | — |\n * | `runPayroll/submitted` | Fired when payroll is successfully submitted | Response from the Submit payroll endpoint |\n * | `runPayroll/processed` | Fired when payroll processing is completed | — |\n * | `runPayroll/processingFailed` | Fired when payroll processing fails | Error details |\n * | `runPayroll/cancelled` | Fired when a payroll is cancelled | Response from the Cancel payroll endpoint |\n * | `runPayroll/receipt/get` | Fired when user requests payroll receipt | `{ payrollId }` |\n * | `runPayroll/receipt/viewed` | Fired when the receipt screen is viewed | — |\n * | `runPayroll/pdfPaystub/viewed` | Fired when user views employee paystub PDF | `{ employeeId }` |\n * | `runPayroll/blockers/viewAll` | Fired when user opens the full blockers list | — |\n * | `payroll/saveAndExit` | Fired when user uses the save-and-exit CTA | — |\n *\n * @components\n * - {@link PayrollConfiguration}\n * - {@link PayrollOverview}\n * - {@link PayrollEditEmployee}\n * - {@link PayrollReceipts}\n * - {@link PayrollBlockerList}\n *\n * @param input - {@link PayrollExecutionFlowProps}\n * @returns The rendered execution flow.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <Payroll.PayrollExecutionFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * payrollId=\"0987fcea-7b59-4907-a301-f232b5aff508\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'runPayroll/submitted') {\n * // Payroll submitted — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport function PayrollExecutionFlow({\n companyId,\n payrollId,\n onEvent,\n initialPayPeriod,\n isDismissalPayroll: isDismissal = false,\n withReimbursements = true,\n ConfirmWireDetailsComponent,\n prefixBreadcrumbs = EMPTY_BREADCRUMBS,\n initialState = 'configuration',\n}: PayrollExecutionFlowProps) {\n const executionFlowMachine = useMemo(() => {\n const breadcrumbNodes = getPayrollExecutionBreadcrumbsNodes(isDismissal)\n const baseBreadcrumbs = buildBreadcrumbs(breadcrumbNodes)\n const displayOnlyPrefixes = prefixBreadcrumbs.map(({ onNavigate, ...rest }) => rest)\n const breadcrumbs = Object.fromEntries(\n Object.entries(baseBreadcrumbs).map(([stateKey, trail]) => [\n stateKey,\n [...displayOnlyPrefixes, ...trail],\n ]),\n )\n\n const initialBreadcrumbContext = updateBreadcrumbs(\n initialState,\n {\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs,\n cta: SaveAndExitCta,\n },\n },\n {\n startDate: initialPayPeriod?.startDate ?? '',\n endDate: initialPayPeriod?.endDate ?? '',\n },\n )\n\n return createMachine(\n initialState,\n payrollExecutionMachine,\n (initialContext: PayrollFlowContextInterface) => ({\n ...initialContext,\n ...initialBreadcrumbContext,\n component: INITIAL_COMPONENT_MAP[initialState],\n companyId,\n payrollUuid: payrollId,\n payPeriod: initialPayPeriod,\n withReimbursements,\n ConfirmWireDetailsComponent,\n ctaConfig: {\n labelKey: 'exitFlowCta',\n namespace: INITIAL_NAMESPACE_MAP[initialState],\n },\n }),\n )\n }, [\n companyId,\n payrollId,\n isDismissal,\n withReimbursements,\n ConfirmWireDetailsComponent,\n prefixBreadcrumbs,\n initialState,\n ])\n\n return <Flow machine={executionFlowMachine} onEvent={onEvent} />\n}\n"],"names":["EMPTY_BREADCRUMBS","INITIAL_COMPONENT_MAP","PayrollConfigurationContextual","PayrollOverviewContextual","INITIAL_NAMESPACE_MAP","PayrollExecutionFlow","companyId","payrollId","onEvent","initialPayPeriod","isDismissal","withReimbursements","ConfirmWireDetailsComponent","prefixBreadcrumbs","initialState","executionFlowMachine","useMemo","breadcrumbNodes","getPayrollExecutionBreadcrumbsNodes","baseBreadcrumbs","buildBreadcrumbs","displayOnlyPrefixes","onNavigate","rest","breadcrumbs","stateKey","trail","initialBreadcrumbContext","updateBreadcrumbs","SaveAndExitCta","createMachine","payrollExecutionMachine","initialContext","jsx","Flow"],"mappings":";;;;;;;AAoBA,MAAMA,IAAsC,CAAA,GA+CtCC,IAAwB;AAAA,EAC5B,eAAeC;AAAA,EACf,UAAUC;AACZ,GAEMC,IAAwB;AAAA,EAC5B,eAAe;AAAA,EACf,UAAU;AACZ;AA6DO,SAASC,EAAqB;AAAA,EACnC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAoBC,IAAc;AAAA,EAClC,oBAAAC,IAAqB;AAAA,EACrB,6BAAAC;AAAA,EACA,mBAAAC,IAAoBb;AAAA,EACpB,cAAAc,IAAe;AACjB,GAA8B;AAC5B,QAAMC,IAAuBC,EAAQ,MAAM;AACzC,UAAMC,IAAkBC,EAAoCR,CAAW,GACjES,IAAkBC,EAAiBH,CAAe,GAClDI,IAAsBR,EAAkB,IAAI,CAAC,EAAE,YAAAS,GAAY,GAAGC,EAAA,MAAWA,CAAI,GAC7EC,IAAc,OAAO;AAAA,MACzB,OAAO,QAAQL,CAAe,EAAE,IAAI,CAAC,CAACM,GAAUC,CAAK,MAAM;AAAA,QACzDD;AAAA,QACA,CAAC,GAAGJ,GAAqB,GAAGK,CAAK;AAAA,MAAA,CAClC;AAAA,IAAA,GAGGC,IAA2BC;AAAA,MAC/Bd;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAAU;AAAA,UACA,KAAKK;AAAA,QAAA;AAAA,MACP;AAAA,MAEF;AAAA,QACE,WAAWpB,GAAkB,aAAa;AAAA,QAC1C,SAASA,GAAkB,WAAW;AAAA,MAAA;AAAA,IACxC;AAGF,WAAOqB;AAAA,MACLhB;AAAA,MACAiB;AAAA,MACA,CAACC,OAAiD;AAAA,QAChD,GAAGA;AAAA,QACH,GAAGL;AAAA,QACH,WAAW1B,EAAsBa,CAAY;AAAA,QAC7C,WAAAR;AAAA,QACA,aAAaC;AAAA,QACb,WAAWE;AAAA,QACX,oBAAAE;AAAA,QACA,6BAAAC;AAAA,QACA,WAAW;AAAA,UACT,UAAU;AAAA,UACV,WAAWR,EAAsBU,CAAY;AAAA,QAAA;AAAA,MAC/C;AAAA,IACF;AAAA,EAEJ,GAAG;AAAA,IACDR;AAAA,IACAC;AAAA,IACAG;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AAED,SAAO,gBAAAmB,EAACC,GAAA,EAAK,SAASnB,GAAsB,SAAAP,EAAA,CAAkB;AAChE;"}
1
+ {"version":3,"file":"PayrollExecutionFlow.js","sources":["../../../../src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport type { PayrollPayPeriodType } from '@gusto/embedded-api/models/components/payrollpayperiodtype'\nimport type { ConfirmWireDetailsComponentType } from '../ConfirmWireDetails/ConfirmWireDetails'\nimport {\n PayrollConfigurationContextual,\n PayrollOverviewContextual,\n SaveAndExitCta,\n type PayrollFlowContextInterface,\n} from '../PayrollFlow/PayrollFlowComponents'\nimport {\n payrollExecutionMachine,\n getPayrollExecutionBreadcrumbsNodes,\n} from './payrollExecutionMachine'\nimport { Flow } from '@/components/Flow/Flow'\nimport type { FlowBreadcrumb } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { buildBreadcrumbs, updateBreadcrumbs } from '@/helpers/breadcrumbHelpers'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport type { EventType } from '@/shared/constants'\n\nconst EMPTY_BREADCRUMBS: FlowBreadcrumb[] = []\n\n/**\n * Entry point for {@link PayrollExecutionFlow}. Determines which screen the flow renders first.\n *\n * @public\n */\nexport type PayrollExecutionInitialState = 'configuration' | 'overview'\n\n/**\n * Props for {@link PayrollExecutionFlow}.\n *\n * @public\n */\nexport interface PayrollExecutionFlowProps {\n /** The associated company identifier. */\n companyId: string\n /**\n * The identifier of the payroll to execute. The payroll must already exist (e.g. created by a\n * prior creation step or by the standard `PayrollFlow` selection).\n */\n payrollId: string\n /** Event handler that receives the `RUN_PAYROLL_*` events emitted during the flow. */\n onEvent: OnEventType<EventType, unknown>\n /** Optional pay period metadata used to seed breadcrumb labels and date context. */\n initialPayPeriod?: PayrollPayPeriodType\n /**\n * When true, surfaces dismissal-specific copy and breadcrumbs (used by `Payroll.DismissalFlow`).\n * Defaults to `false`.\n */\n isDismissalPayroll?: boolean\n /** Optional flag to show or hide reimbursement fields throughout the flow. Defaults to `true`. */\n withReimbursements?: boolean\n /** Optional custom component to replace the default wire details confirmation UI. */\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n /**\n * Where the flow starts. Use `'overview'` when you want to drop the user directly on the review\n * screen (e.g. resuming an already-calculated payroll). Defaults to `'configuration'`.\n */\n initialState?: PayrollExecutionInitialState\n}\n\n/**\n * Props for the flow-internal {@link PayrollExecutionInternalFlow}, which layers flow-injected\n * prefix breadcrumbs on top of the public {@link PayrollExecutionFlowProps}.\n *\n * @internal\n */\nexport interface PayrollExecutionInternalFlowProps extends PayrollExecutionFlowProps {\n /**\n * Breadcrumbs prepended to the flow's own breadcrumb trail. Set by a parent flow (e.g. an\n * off-cycle creation step) so the breadcrumb history remains coherent across the handoff.\n */\n prefixBreadcrumbs?: FlowBreadcrumb[]\n}\n\nconst INITIAL_COMPONENT_MAP = {\n configuration: PayrollConfigurationContextual,\n overview: PayrollOverviewContextual,\n} as const\n\nconst INITIAL_NAMESPACE_MAP = {\n configuration: 'Payroll.PayrollConfiguration' as const,\n overview: 'Payroll.PayrollOverview' as const,\n} as const\n\n/**\n * Guided flow to configure, review, and submit a single payroll.\n *\n * @remarks\n * This is the inner flow that powers the back half of `Payroll.PayrollFlow`, and it is also reused\n * by the off-cycle, dismissal, and transition flows after they have created their respective\n * payrolls. Render it directly when you have built your own payroll-creation step and want to hand\n * the user off to the standard execution experience without re-implementing it. The flow ships\n * with breadcrumb navigation and the standard wire-confirmation UX.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/edit` | Fired when user chooses to edit payroll | — |\n * | `runPayroll/calculated` | Fired when payroll calculation completes | `{ payrollUuid, payPeriod?, alert? }` |\n * | `runPayroll/employee/edit` | Fired when user opens an employee row to edit | `{ employeeId, firstName, lastName }` |\n * | `runPayroll/employee/saved` | Fired when employee edits are saved | — |\n * | `runPayroll/employee/cancelled` | Fired when employee edits are cancelled | — |\n * | `runPayroll/submitting` | Fired when payroll submission begins | — |\n * | `runPayroll/submitted` | Fired when payroll is successfully submitted | Response from the Submit payroll endpoint |\n * | `runPayroll/processed` | Fired when payroll processing is completed | — |\n * | `runPayroll/processingFailed` | Fired when payroll processing fails | Error details |\n * | `runPayroll/cancelled` | Fired when a payroll is cancelled | Response from the Cancel payroll endpoint |\n * | `runPayroll/receipt/get` | Fired when user requests payroll receipt | `{ payrollId }` |\n * | `runPayroll/receipt/viewed` | Fired when the receipt screen is viewed | — |\n * | `runPayroll/pdfPaystub/viewed` | Fired when user views employee paystub PDF | `{ employeeId }` |\n * | `runPayroll/blockers/viewAll` | Fired when user opens the full blockers list | — |\n * | `payroll/saveAndExit` | Fired when user uses the save-and-exit CTA | — |\n *\n * @components\n * - {@link PayrollConfiguration}\n * - {@link PayrollOverview}\n * - {@link PayrollEditEmployee}\n * - {@link PayrollReceipts}\n * - {@link PayrollBlockerList}\n *\n * @param input - {@link PayrollExecutionFlowProps}\n * @returns The rendered execution flow.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <Payroll.PayrollExecutionFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * payrollId=\"0987fcea-7b59-4907-a301-f232b5aff508\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'runPayroll/submitted') {\n * // Payroll submitted — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport function PayrollExecutionFlow(props: PayrollExecutionFlowProps) {\n return <PayrollExecutionInternalFlow {...props} />\n}\n\n/**\n * Flow-internal entry point for {@link PayrollExecutionFlow} that additionally accepts\n * flow-injected `prefixBreadcrumbs`. Partners use {@link PayrollExecutionFlow}; our own parent\n * flows (off-cycle, dismissal, transition, and `PayrollFlow`) render this directly to prepend\n * their own breadcrumb trail.\n *\n * @internal\n */\nexport function PayrollExecutionInternalFlow({\n companyId,\n payrollId,\n onEvent,\n initialPayPeriod,\n isDismissalPayroll: isDismissal = false,\n withReimbursements = true,\n ConfirmWireDetailsComponent,\n prefixBreadcrumbs = EMPTY_BREADCRUMBS,\n initialState = 'configuration',\n}: PayrollExecutionInternalFlowProps) {\n const executionFlowMachine = useMemo(() => {\n const breadcrumbNodes = getPayrollExecutionBreadcrumbsNodes(isDismissal)\n const baseBreadcrumbs = buildBreadcrumbs(breadcrumbNodes)\n const displayOnlyPrefixes = prefixBreadcrumbs.map(({ onNavigate, ...rest }) => rest)\n const breadcrumbs = Object.fromEntries(\n Object.entries(baseBreadcrumbs).map(([stateKey, trail]) => [\n stateKey,\n [...displayOnlyPrefixes, ...trail],\n ]),\n )\n\n const initialBreadcrumbContext = updateBreadcrumbs(\n initialState,\n {\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs,\n cta: SaveAndExitCta,\n },\n },\n {\n startDate: initialPayPeriod?.startDate ?? '',\n endDate: initialPayPeriod?.endDate ?? '',\n },\n )\n\n return createMachine(\n initialState,\n payrollExecutionMachine,\n (initialContext: PayrollFlowContextInterface) => ({\n ...initialContext,\n ...initialBreadcrumbContext,\n component: INITIAL_COMPONENT_MAP[initialState],\n companyId,\n payrollUuid: payrollId,\n payPeriod: initialPayPeriod,\n withReimbursements,\n ConfirmWireDetailsComponent,\n ctaConfig: {\n labelKey: 'exitFlowCta',\n namespace: INITIAL_NAMESPACE_MAP[initialState],\n },\n }),\n )\n }, [\n companyId,\n payrollId,\n isDismissal,\n withReimbursements,\n ConfirmWireDetailsComponent,\n prefixBreadcrumbs,\n initialState,\n ])\n\n return <Flow machine={executionFlowMachine} onEvent={onEvent} />\n}\n"],"names":["EMPTY_BREADCRUMBS","INITIAL_COMPONENT_MAP","PayrollConfigurationContextual","PayrollOverviewContextual","INITIAL_NAMESPACE_MAP","PayrollExecutionFlow","props","jsx","PayrollExecutionInternalFlow","companyId","payrollId","onEvent","initialPayPeriod","isDismissal","withReimbursements","ConfirmWireDetailsComponent","prefixBreadcrumbs","initialState","executionFlowMachine","useMemo","breadcrumbNodes","getPayrollExecutionBreadcrumbsNodes","baseBreadcrumbs","buildBreadcrumbs","displayOnlyPrefixes","onNavigate","rest","breadcrumbs","stateKey","trail","initialBreadcrumbContext","updateBreadcrumbs","SaveAndExitCta","createMachine","payrollExecutionMachine","initialContext","Flow"],"mappings":";;;;;;;AAoBA,MAAMA,IAAsC,CAAA,GAwDtCC,IAAwB;AAAA,EAC5B,eAAeC;AAAA,EACf,UAAUC;AACZ,GAEMC,IAAwB;AAAA,EAC5B,eAAe;AAAA,EACf,UAAU;AACZ;AA6DO,SAASC,EAAqBC,GAAkC;AACrE,SAAO,gBAAAC,EAACC,GAAA,EAA8B,GAAGF,EAAA,CAAO;AAClD;AAUO,SAASE,EAA6B;AAAA,EAC3C,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAoBC,IAAc;AAAA,EAClC,oBAAAC,IAAqB;AAAA,EACrB,6BAAAC;AAAA,EACA,mBAAAC,IAAoBhB;AAAA,EACpB,cAAAiB,IAAe;AACjB,GAAsC;AACpC,QAAMC,IAAuBC,EAAQ,MAAM;AACzC,UAAMC,IAAkBC,EAAoCR,CAAW,GACjES,IAAkBC,EAAiBH,CAAe,GAClDI,IAAsBR,EAAkB,IAAI,CAAC,EAAE,YAAAS,GAAY,GAAGC,EAAA,MAAWA,CAAI,GAC7EC,IAAc,OAAO;AAAA,MACzB,OAAO,QAAQL,CAAe,EAAE,IAAI,CAAC,CAACM,GAAUC,CAAK,MAAM;AAAA,QACzDD;AAAA,QACA,CAAC,GAAGJ,GAAqB,GAAGK,CAAK;AAAA,MAAA,CAClC;AAAA,IAAA,GAGGC,IAA2BC;AAAA,MAC/Bd;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAAU;AAAA,UACA,KAAKK;AAAA,QAAA;AAAA,MACP;AAAA,MAEF;AAAA,QACE,WAAWpB,GAAkB,aAAa;AAAA,QAC1C,SAASA,GAAkB,WAAW;AAAA,MAAA;AAAA,IACxC;AAGF,WAAOqB;AAAA,MACLhB;AAAA,MACAiB;AAAA,MACA,CAACC,OAAiD;AAAA,QAChD,GAAGA;AAAA,QACH,GAAGL;AAAA,QACH,WAAW7B,EAAsBgB,CAAY;AAAA,QAC7C,WAAAR;AAAA,QACA,aAAaC;AAAA,QACb,WAAWE;AAAA,QACX,oBAAAE;AAAA,QACA,6BAAAC;AAAA,QACA,WAAW;AAAA,UACT,UAAU;AAAA,UACV,WAAWX,EAAsBa,CAAY;AAAA,QAAA;AAAA,MAC/C;AAAA,IACF;AAAA,EAEJ,GAAG;AAAA,IACDR;AAAA,IACAC;AAAA,IACAG;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AAED,SAAO,gBAAAV,EAAC6B,GAAA,EAAK,SAASlB,GAAsB,SAAAP,EAAA,CAAkB;AAChE;"}
@@ -1,7 +1,7 @@
1
1
  import { state as l, transition as t, reduce as r, guard as y } from "robot3";
2
- import { PayrollConfigurationContextual as d, PayrollReceiptsContextual as u, PayrollOverviewContextual as c, PayrollEditEmployeeContextual as P, PayrollBlockerContextual as b } from "../PayrollFlow/PayrollFlowComponents.js";
2
+ import { PayrollOverviewContextual as c, PayrollConfigurationContextual as d, PayrollReceiptsContextual as u, PayrollEditEmployeeContextual as P, PayrollBlockerContextual as b } from "../PayrollFlow/PayrollFlowComponents.js";
3
3
  import { componentEvents as i } from "../../../shared/constants.js";
4
- import { patchBreadcrumbsHeader as p, hideBreadcrumb as f, updateBreadcrumbs as n } from "../../../helpers/breadcrumbHelpers.js";
4
+ import { updateBreadcrumbs as n, patchBreadcrumbsHeader as p, hideBreadcrumb as f } from "../../../helpers/breadcrumbHelpers.js";
5
5
  import { createBreadcrumbNavigateTransition as g } from "../../Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js";
6
6
  const s = g(), S = (e = !1) => ({
7
7
  configuration: {
@@ -1,7 +1,7 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { Suspense as d } from "react";
3
3
  import { usePayrollsGetSuspense as f } from "@gusto/embedded-api/react-query/payrollsGet";
4
- import { PayrollExecutionFlow as y } from "../PayrollExecutionFlow/PayrollExecutionFlow.js";
4
+ import { PayrollExecutionInternalFlow as y } from "../PayrollExecutionFlow/PayrollExecutionFlow.js";
5
5
  import { isDismissalPayroll as P } from "../helpers.js";
6
6
  import { useFlow as x } from "../../Flow/useFlow.js";
7
7
  import { ensureRequired as a } from "../../../helpers/ensureRequired.js";
@@ -12,10 +12,10 @@ function g() {
12
12
  payrollUuid: r,
13
13
  onEvent: t,
14
14
  withReimbursements: i,
15
- ConfirmWireDetailsComponent: l,
15
+ ConfirmWireDetailsComponent: n,
16
16
  executionInitialState: s,
17
17
  breadcrumbs: m
18
- } = x(), n = m?.landing?.[0], c = n ? [n] : void 0, u = a(o), p = a(r);
18
+ } = x(), l = m?.landing?.[0], c = l ? [l] : void 0, u = a(o), p = a(r);
19
19
  return /* @__PURE__ */ e(d, { fallback: /* @__PURE__ */ e(w, {}), children: /* @__PURE__ */ e(
20
20
  b,
21
21
  {
@@ -23,7 +23,7 @@ function g() {
23
23
  payrollId: p,
24
24
  onEvent: t,
25
25
  withReimbursements: i,
26
- ConfirmWireDetailsComponent: l,
26
+ ConfirmWireDetailsComponent: n,
27
27
  initialState: s,
28
28
  prefixBreadcrumbs: c
29
29
  }
@@ -34,13 +34,13 @@ function b({
34
34
  payrollId: r,
35
35
  ...t
36
36
  }) {
37
- const { data: i } = f({ companyId: o, payrollId: r }), l = i.payrollShow?.payPeriod;
37
+ const { data: i } = f({ companyId: o, payrollId: r }), n = i.payrollShow?.payPeriod;
38
38
  return /* @__PURE__ */ e(
39
39
  y,
40
40
  {
41
41
  companyId: o,
42
42
  payrollId: r,
43
- initialPayPeriod: l,
43
+ initialPayPeriod: n,
44
44
  isDismissalPayroll: P(i.payrollShow?.offCycleReason),
45
45
  ...t
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollExecutionFlowContextual.js","sources":["../../../../src/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.tsx"],"sourcesContent":["import { Suspense } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { PayrollExecutionFlow } from '../PayrollExecutionFlow/PayrollExecutionFlow'\nimport { isDismissalPayroll } from '../helpers'\nimport type { PayrollFlowContextInterface } from './PayrollFlowComponents'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { Loading } from '@/components/Common/Loading/Loading'\n\n/** @internal */\nexport function PayrollExecutionFlowContextual() {\n const {\n companyId,\n payrollUuid,\n onEvent,\n withReimbursements,\n ConfirmWireDetailsComponent,\n executionInitialState,\n breadcrumbs,\n } = useFlow<PayrollFlowContextInterface>()\n\n const landingBreadcrumb = breadcrumbs?.['landing']?.[0]\n const prefixBreadcrumbs = landingBreadcrumb ? [landingBreadcrumb] : undefined\n\n const resolvedCompanyId = ensureRequired(companyId)\n const resolvedPayrollId = ensureRequired(payrollUuid)\n\n return (\n <Suspense fallback={<Loading />}>\n <PayrollExecutionFlowWithData\n companyId={resolvedCompanyId}\n payrollId={resolvedPayrollId}\n onEvent={onEvent}\n withReimbursements={withReimbursements}\n ConfirmWireDetailsComponent={ConfirmWireDetailsComponent}\n initialState={executionInitialState}\n prefixBreadcrumbs={prefixBreadcrumbs}\n />\n </Suspense>\n )\n}\n\ntype PayrollExecutionFlowWithDataProps = React.ComponentProps<typeof PayrollExecutionFlow>\n\nfunction PayrollExecutionFlowWithData({\n companyId,\n payrollId,\n ...rest\n}: PayrollExecutionFlowWithDataProps) {\n const { data } = usePayrollsGetSuspense({ companyId, payrollId })\n const initialPayPeriod = data.payrollShow?.payPeriod\n\n return (\n <PayrollExecutionFlow\n companyId={companyId}\n payrollId={payrollId}\n initialPayPeriod={initialPayPeriod}\n isDismissalPayroll={isDismissalPayroll(data.payrollShow?.offCycleReason)}\n {...rest}\n />\n )\n}\n"],"names":["PayrollExecutionFlowContextual","companyId","payrollUuid","onEvent","withReimbursements","ConfirmWireDetailsComponent","executionInitialState","breadcrumbs","useFlow","landingBreadcrumb","prefixBreadcrumbs","resolvedCompanyId","ensureRequired","resolvedPayrollId","jsx","Suspense","Loading","PayrollExecutionFlowWithData","payrollId","rest","data","usePayrollsGetSuspense","initialPayPeriod","PayrollExecutionFlow","isDismissalPayroll"],"mappings":";;;;;;;;AAUO,SAASA,IAAiC;AAC/C,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,6BAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEC,EAAA,GAEEC,IAAoBF,GAAc,UAAa,CAAC,GAChDG,IAAoBD,IAAoB,CAACA,CAAiB,IAAI,QAE9DE,IAAoBC,EAAeX,CAAS,GAC5CY,IAAoBD,EAAeV,CAAW;AAEpD,SACE,gBAAAY,EAACC,GAAA,EAAS,UAAU,gBAAAD,EAACE,KAAQ,GAC3B,UAAA,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,WAAWN;AAAA,MACX,WAAWE;AAAA,MACX,SAAAV;AAAA,MACA,oBAAAC;AAAA,MACA,6BAAAC;AAAA,MACA,cAAcC;AAAA,MACd,mBAAAI;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAIA,SAASO,EAA6B;AAAA,EACpC,WAAAhB;AAAA,EACA,WAAAiB;AAAA,EACA,GAAGC;AACL,GAAsC;AACpC,QAAM,EAAE,MAAAC,EAAA,IAASC,EAAuB,EAAE,WAAApB,GAAW,WAAAiB,GAAW,GAC1DI,IAAmBF,EAAK,aAAa;AAE3C,SACE,gBAAAN;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,WAAAtB;AAAA,MACA,WAAAiB;AAAA,MACA,kBAAAI;AAAA,MACA,oBAAoBE,EAAmBJ,EAAK,aAAa,cAAc;AAAA,MACtE,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"PayrollExecutionFlowContextual.js","sources":["../../../../src/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.tsx"],"sourcesContent":["import { Suspense } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { PayrollExecutionInternalFlow } from '../PayrollExecutionFlow/PayrollExecutionFlow'\nimport { isDismissalPayroll } from '../helpers'\nimport type { PayrollFlowContextInterface } from './PayrollFlowComponents'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { ensureRequired } from '@/helpers/ensureRequired'\nimport { Loading } from '@/components/Common/Loading/Loading'\n\n/** @internal */\nexport function PayrollExecutionFlowContextual() {\n const {\n companyId,\n payrollUuid,\n onEvent,\n withReimbursements,\n ConfirmWireDetailsComponent,\n executionInitialState,\n breadcrumbs,\n } = useFlow<PayrollFlowContextInterface>()\n\n const landingBreadcrumb = breadcrumbs?.['landing']?.[0]\n const prefixBreadcrumbs = landingBreadcrumb ? [landingBreadcrumb] : undefined\n\n const resolvedCompanyId = ensureRequired(companyId)\n const resolvedPayrollId = ensureRequired(payrollUuid)\n\n return (\n <Suspense fallback={<Loading />}>\n <PayrollExecutionFlowWithData\n companyId={resolvedCompanyId}\n payrollId={resolvedPayrollId}\n onEvent={onEvent}\n withReimbursements={withReimbursements}\n ConfirmWireDetailsComponent={ConfirmWireDetailsComponent}\n initialState={executionInitialState}\n prefixBreadcrumbs={prefixBreadcrumbs}\n />\n </Suspense>\n )\n}\n\ntype PayrollExecutionFlowWithDataProps = React.ComponentProps<typeof PayrollExecutionInternalFlow>\n\nfunction PayrollExecutionFlowWithData({\n companyId,\n payrollId,\n ...rest\n}: PayrollExecutionFlowWithDataProps) {\n const { data } = usePayrollsGetSuspense({ companyId, payrollId })\n const initialPayPeriod = data.payrollShow?.payPeriod\n\n return (\n <PayrollExecutionInternalFlow\n companyId={companyId}\n payrollId={payrollId}\n initialPayPeriod={initialPayPeriod}\n isDismissalPayroll={isDismissalPayroll(data.payrollShow?.offCycleReason)}\n {...rest}\n />\n )\n}\n"],"names":["PayrollExecutionFlowContextual","companyId","payrollUuid","onEvent","withReimbursements","ConfirmWireDetailsComponent","executionInitialState","breadcrumbs","useFlow","landingBreadcrumb","prefixBreadcrumbs","resolvedCompanyId","ensureRequired","resolvedPayrollId","jsx","Suspense","Loading","PayrollExecutionFlowWithData","payrollId","rest","data","usePayrollsGetSuspense","initialPayPeriod","PayrollExecutionInternalFlow","isDismissalPayroll"],"mappings":";;;;;;;;AAUO,SAASA,IAAiC;AAC/C,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,6BAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEC,EAAA,GAEEC,IAAoBF,GAAc,UAAa,CAAC,GAChDG,IAAoBD,IAAoB,CAACA,CAAiB,IAAI,QAE9DE,IAAoBC,EAAeX,CAAS,GAC5CY,IAAoBD,EAAeV,CAAW;AAEpD,SACE,gBAAAY,EAACC,GAAA,EAAS,UAAU,gBAAAD,EAACE,KAAQ,GAC3B,UAAA,gBAAAF;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,WAAWN;AAAA,MACX,WAAWE;AAAA,MACX,SAAAV;AAAA,MACA,oBAAAC;AAAA,MACA,6BAAAC;AAAA,MACA,cAAcC;AAAA,MACd,mBAAAI;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAIA,SAASO,EAA6B;AAAA,EACpC,WAAAhB;AAAA,EACA,WAAAiB;AAAA,EACA,GAAGC;AACL,GAAsC;AACpC,QAAM,EAAE,MAAAC,EAAA,IAASC,EAAuB,EAAE,WAAApB,GAAW,WAAAiB,GAAW,GAC1DI,IAAmBF,EAAK,aAAa;AAE3C,SACE,gBAAAN;AAAA,IAACS;AAAA,IAAA;AAAA,MACC,WAAAtB;AAAA,MACA,WAAAiB;AAAA,MACA,kBAAAI;AAAA,MACA,oBAAoBE,EAAmBJ,EAAK,aAAa,cAAc;AAAA,MACtE,GAAGD;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -3,7 +3,7 @@ import { useState as _, useCallback as A } from "react";
3
3
  import { usePayrollsListSuspense as E } from "@gusto/embedded-api/react-query/payrollsList";
4
4
  import { usePayrollsCancelMutation as O } from "@gusto/embedded-api/react-query/payrollsCancel";
5
5
  import { useWireInRequestsListSuspense as V } from "@gusto/embedded-api/react-query/wireInRequestsList";
6
- import { DateFilterBy as F, SortOrder as H, QueryParamPayrollTypes as n, ProcessingStatuses as U } from "@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls";
6
+ import { DateFilterBy as F, QueryParamSortOrder as H, QueryParamPayrollTypes as n, ProcessingStatuses as U } from "@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls";
7
7
  import { PayrollHistoryPresentation as q } from "./PayrollHistoryPresentation.js";
8
8
  import { BaseComponent as B } from "../../Base/Base.js";
9
9
  import { useBase as M } from "../../Base/useBase.js";
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollHistory.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistory.tsx"],"sourcesContent":["import { useState, useCallback } from 'react'\nimport { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport {\n DateFilterBy,\n ProcessingStatuses,\n QueryParamPayrollTypes,\n SortOrder,\n} from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport { PayrollHistoryPresentation } from './PayrollHistoryPresentation'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport { useDateRangeFilter } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\n\n/**\n * Props for the {@link PayrollHistory} component.\n *\n * @public\n */\nexport interface PayrollHistoryProps extends BaseComponentInterface<'Payroll.PayrollHistory'> {\n /** Identifier of the company whose processed payrolls should be listed. */\n companyId: string\n}\n\n/**\n * Displays historical payroll records with filtering and management capabilities.\n *\n * @remarks\n * Lists processed regular, off-cycle, and external payrolls for a company and supports filtering by\n * check date (3 months, 6 months, or 1 year), viewing payroll summaries and receipts, and\n * cancelling processed payrolls when they remain within the cancellation window. Each row shows\n * the pay period, payroll type, pay date, status, and total pay amount.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/summary/viewed` | User views a payroll summary | `{ payrollId: string; startDate?: string; endDate?: string }` |\n * | `runPayroll/receipt/viewed` | User views a payroll receipt | `{ payrollId: string; startDate?: string; endDate?: string }` |\n * | `runPayroll/cancelled` | A payroll is cancelled | `{ payrollId: string; result: PayrollsCancelResponse }` |\n *\n * @param props - See {@link PayrollHistoryProps}.\n * @returns The rendered payroll history view.\n * @public\n */\nexport function PayrollHistory(props: PayrollHistoryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ onEvent, companyId, dictionary }: PayrollHistoryProps) => {\n useComponentDictionary('Payroll.PayrollHistory', dictionary)\n useI18n('Payroll.PayrollHistory')\n\n const [cancelDialogItem, setCancelDialogItem] = useState<Payroll | null>(null)\n const { baseSubmitHandler } = useBase()\n const { currentPage, itemsPerPage, getPaginationProps, resetPage } = usePagination()\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.Processed],\n payrollTypes: [\n QueryParamPayrollTypes.Regular,\n QueryParamPayrollTypes.OffCycle,\n QueryParamPayrollTypes.External,\n ],\n includeOffCycle: true,\n include: ['totals', 'payroll_status_meta'],\n sortOrder: SortOrder.Desc,\n startDate: dateFilterParams.startDate,\n endDate: dateFilterParams.endDate,\n dateFilterBy: dateRangeFilter.isFilterActive ? DateFilterBy.CheckDate : undefined,\n page: currentPage,\n per: itemsPerPage,\n })\n\n const payrollHistory = payrollsData.payrollList || []\n const paginationProps = getPaginationProps(payrollsData.httpMeta.response.headers)\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { mutateAsync: cancelPayroll, isPending: isCancelling } = usePayrollsCancelMutation()\n\n const handleViewSummary = (payrollId: string, startDate?: string, endDate?: string) => {\n onEvent(componentEvents.RUN_PAYROLL_SUMMARY_VIEWED, { payrollId, startDate, endDate })\n }\n\n const handleViewReceipt = (payrollId: string, startDate?: string, endDate?: string) => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_VIEWED, { payrollId, startDate, endDate })\n }\n\n const handleCancelPayroll = async (item: Payroll) => {\n const payrollId = item.payrollUuid || item.uuid!\n try {\n await baseSubmitHandler(payrollId, async id => {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId: id,\n },\n })\n\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, { payrollId: id, result })\n })\n } finally {\n setCancelDialogItem(null)\n }\n }\n\n return (\n <PayrollHistoryPresentation\n payrollHistory={payrollHistory}\n wireInRequests={wireInRequests}\n pagination={paginationProps}\n onViewSummary={handleViewSummary}\n onViewReceipt={handleViewReceipt}\n onCancelPayroll={handleCancelPayroll}\n cancelDialogItem={cancelDialogItem}\n onCancelDialogOpen={setCancelDialogItem}\n onCancelDialogClose={() => {\n setCancelDialogItem(null)\n }}\n isLoading={isCancelling}\n dateRangeFilter={dateRangeFilter}\n />\n )\n}\n"],"names":["PayrollHistory","props","jsx","BaseComponent","Root","onEvent","companyId","dictionary","useComponentDictionary","useI18n","cancelDialogItem","setCancelDialogItem","useState","baseSubmitHandler","useBase","currentPage","itemsPerPage","getPaginationProps","resetPage","usePagination","dateRangeFilter","useDateRangeFilter","useCallback","dateFilterParams","payrollsData","usePayrollsListSuspense","ProcessingStatuses","QueryParamPayrollTypes","SortOrder","DateFilterBy","payrollHistory","paginationProps","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","cancelPayroll","isCancelling","usePayrollsCancelMutation","PayrollHistoryPresentation","payrollId","startDate","endDate","componentEvents","item","id","result"],"mappings":";;;;;;;;;;;;;AAkDO,SAASA,GAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,SAAAC,GAAS,WAAAC,GAAW,YAAAC,QAAsC;AACxE,EAAAC,EAAuB,0BAA0BD,CAAU,GAC3DE,EAAQ,wBAAwB;AAEhC,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAyB,IAAI,GACvE,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GACxB,EAAE,aAAAC,GAAa,cAAAC,GAAc,oBAAAC,GAAoB,WAAAC,EAAA,IAAcC,EAAA,GAE/DC,IAAkBC,EAAmB;AAAA,IACzC,gBAAgBC,EAAY,MAAM;AAChC,MAAAJ,EAAA;AAAA,IACF,GAAG,CAACA,CAAS,CAAC;AAAA,EAAA,CACf,GACKK,IAAmBH,EAAgB,iBAAA,GAEnC,EAAE,MAAMI,EAAA,IAAiBC,EAAwB;AAAA,IACrD,WAAAnB;AAAA,IACA,oBAAoB,CAACoB,EAAmB,SAAS;AAAA,IACjD,cAAc;AAAA,MACZC,EAAuB;AAAA,MACvBA,EAAuB;AAAA,MACvBA,EAAuB;AAAA,IAAA;AAAA,IAEzB,iBAAiB;AAAA,IACjB,SAAS,CAAC,UAAU,qBAAqB;AAAA,IACzC,WAAWC,EAAU;AAAA,IACrB,WAAWL,EAAiB;AAAA,IAC5B,SAASA,EAAiB;AAAA,IAC1B,cAAcH,EAAgB,iBAAiBS,EAAa,YAAY;AAAA,IACxE,MAAMd;AAAA,IACN,KAAKC;AAAA,EAAA,CACN,GAEKc,IAAiBN,EAAa,eAAe,CAAA,GAC7CO,IAAkBd,EAAmBO,EAAa,SAAS,SAAS,OAAO,GAE3E,EAAE,MAAMQ,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAa3B;AAAA,EAAA,CACd,GAEK4B,IAAiBF,EAAmB,qBAAqB,CAAA,GAEzD,EAAE,aAAaG,GAAe,WAAWC,EAAA,IAAiBC,EAAA;AA4BhE,SACE,gBAAAnC;AAAA,IAACoC;AAAA,IAAA;AAAA,MACC,gBAAAR;AAAA,MACA,gBAAAI;AAAA,MACA,YAAYH;AAAA,MACZ,eA/BsB,CAACQ,GAAmBC,GAAoBC,MAAqB;AACrF,QAAApC,EAAQqC,EAAgB,4BAA4B,EAAE,WAAAH,GAAW,WAAAC,GAAW,SAAAC,GAAS;AAAA,MACvF;AAAA,MA8BI,eA5BsB,CAACF,GAAmBC,GAAoBC,MAAqB;AACrF,QAAApC,EAAQqC,EAAgB,4BAA4B,EAAE,WAAAH,GAAW,WAAAC,GAAW,SAAAC,GAAS;AAAA,MACvF;AAAA,MA2BI,iBAzBwB,OAAOE,MAAkB;AACnD,cAAMJ,IAAYI,EAAK,eAAeA,EAAK;AAC3C,YAAI;AACF,gBAAM9B,EAAkB0B,GAAW,OAAMK,MAAM;AAC7C,kBAAMC,IAAS,MAAMV,EAAc;AAAA,cACjC,SAAS;AAAA,gBACP,WAAA7B;AAAA,gBACA,WAAWsC;AAAA,cAAA;AAAA,YACb,CACD;AAED,YAAAvC,EAAQqC,EAAgB,uBAAuB,EAAE,WAAWE,GAAI,QAAAC,GAAQ;AAAA,UAC1E,CAAC;AAAA,QACH,UAAA;AACE,UAAAlC,EAAoB,IAAI;AAAA,QAC1B;AAAA,MACF;AAAA,MAUI,kBAAAD;AAAA,MACA,oBAAoBC;AAAA,MACpB,qBAAqB,MAAM;AACzB,QAAAA,EAAoB,IAAI;AAAA,MAC1B;AAAA,MACA,WAAWyB;AAAA,MACX,iBAAAhB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"PayrollHistory.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistory.tsx"],"sourcesContent":["import { useState, useCallback } from 'react'\nimport { usePayrollsListSuspense } from '@gusto/embedded-api/react-query/payrollsList'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport {\n DateFilterBy,\n ProcessingStatuses,\n QueryParamPayrollTypes,\n QueryParamSortOrder as SortOrder,\n} from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\nimport { PayrollHistoryPresentation } from './PayrollHistoryPresentation'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\nimport { useDateRangeFilter } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\n\n/**\n * Props for the {@link PayrollHistory} component.\n *\n * @public\n */\nexport interface PayrollHistoryProps extends BaseComponentInterface<'Payroll.PayrollHistory'> {\n /** Identifier of the company whose processed payrolls should be listed. */\n companyId: string\n}\n\n/**\n * Displays historical payroll records with filtering and management capabilities.\n *\n * @remarks\n * Lists processed regular, off-cycle, and external payrolls for a company and supports filtering by\n * check date (3 months, 6 months, or 1 year), viewing payroll summaries and receipts, and\n * cancelling processed payrolls when they remain within the cancellation window. Each row shows\n * the pay period, payroll type, pay date, status, and total pay amount.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/summary/viewed` | User views a payroll summary | `{ payrollId: string; startDate?: string; endDate?: string }` |\n * | `runPayroll/receipt/viewed` | User views a payroll receipt | `{ payrollId: string; startDate?: string; endDate?: string }` |\n * | `runPayroll/cancelled` | A payroll is cancelled | `{ payrollId: string; result: PayrollsCancelResponse }` |\n *\n * @param props - See {@link PayrollHistoryProps}.\n * @returns The rendered payroll history view.\n * @public\n */\nexport function PayrollHistory(props: PayrollHistoryProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ onEvent, companyId, dictionary }: PayrollHistoryProps) => {\n useComponentDictionary('Payroll.PayrollHistory', dictionary)\n useI18n('Payroll.PayrollHistory')\n\n const [cancelDialogItem, setCancelDialogItem] = useState<Payroll | null>(null)\n const { baseSubmitHandler } = useBase()\n const { currentPage, itemsPerPage, getPaginationProps, resetPage } = usePagination()\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.Processed],\n payrollTypes: [\n QueryParamPayrollTypes.Regular,\n QueryParamPayrollTypes.OffCycle,\n QueryParamPayrollTypes.External,\n ],\n includeOffCycle: true,\n include: ['totals', 'payroll_status_meta'],\n sortOrder: SortOrder.Desc,\n startDate: dateFilterParams.startDate,\n endDate: dateFilterParams.endDate,\n dateFilterBy: dateRangeFilter.isFilterActive ? DateFilterBy.CheckDate : undefined,\n page: currentPage,\n per: itemsPerPage,\n })\n\n const payrollHistory = payrollsData.payrollList || []\n const paginationProps = getPaginationProps(payrollsData.httpMeta.response.headers)\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const wireInRequests = wireInRequestsData.wireInRequestList ?? []\n\n const { mutateAsync: cancelPayroll, isPending: isCancelling } = usePayrollsCancelMutation()\n\n const handleViewSummary = (payrollId: string, startDate?: string, endDate?: string) => {\n onEvent(componentEvents.RUN_PAYROLL_SUMMARY_VIEWED, { payrollId, startDate, endDate })\n }\n\n const handleViewReceipt = (payrollId: string, startDate?: string, endDate?: string) => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_VIEWED, { payrollId, startDate, endDate })\n }\n\n const handleCancelPayroll = async (item: Payroll) => {\n const payrollId = item.payrollUuid || item.uuid!\n try {\n await baseSubmitHandler(payrollId, async id => {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId: id,\n },\n })\n\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, { payrollId: id, result })\n })\n } finally {\n setCancelDialogItem(null)\n }\n }\n\n return (\n <PayrollHistoryPresentation\n payrollHistory={payrollHistory}\n wireInRequests={wireInRequests}\n pagination={paginationProps}\n onViewSummary={handleViewSummary}\n onViewReceipt={handleViewReceipt}\n onCancelPayroll={handleCancelPayroll}\n cancelDialogItem={cancelDialogItem}\n onCancelDialogOpen={setCancelDialogItem}\n onCancelDialogClose={() => {\n setCancelDialogItem(null)\n }}\n isLoading={isCancelling}\n dateRangeFilter={dateRangeFilter}\n />\n )\n}\n"],"names":["PayrollHistory","props","jsx","BaseComponent","Root","onEvent","companyId","dictionary","useComponentDictionary","useI18n","cancelDialogItem","setCancelDialogItem","useState","baseSubmitHandler","useBase","currentPage","itemsPerPage","getPaginationProps","resetPage","usePagination","dateRangeFilter","useDateRangeFilter","useCallback","dateFilterParams","payrollsData","usePayrollsListSuspense","ProcessingStatuses","QueryParamPayrollTypes","SortOrder","DateFilterBy","payrollHistory","paginationProps","wireInRequestsData","useWireInRequestsListSuspense","wireInRequests","cancelPayroll","isCancelling","usePayrollsCancelMutation","PayrollHistoryPresentation","payrollId","startDate","endDate","componentEvents","item","id","result"],"mappings":";;;;;;;;;;;;;AAkDO,SAASA,GAAeC,GAA4B;AACzD,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,IAAO,CAAC,EAAE,SAAAC,GAAS,WAAAC,GAAW,YAAAC,QAAsC;AACxE,EAAAC,EAAuB,0BAA0BD,CAAU,GAC3DE,EAAQ,wBAAwB;AAEhC,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,EAAyB,IAAI,GACvE,EAAE,mBAAAC,EAAA,IAAsBC,EAAA,GACxB,EAAE,aAAAC,GAAa,cAAAC,GAAc,oBAAAC,GAAoB,WAAAC,EAAA,IAAcC,EAAA,GAE/DC,IAAkBC,EAAmB;AAAA,IACzC,gBAAgBC,EAAY,MAAM;AAChC,MAAAJ,EAAA;AAAA,IACF,GAAG,CAACA,CAAS,CAAC;AAAA,EAAA,CACf,GACKK,IAAmBH,EAAgB,iBAAA,GAEnC,EAAE,MAAMI,EAAA,IAAiBC,EAAwB;AAAA,IACrD,WAAAnB;AAAA,IACA,oBAAoB,CAACoB,EAAmB,SAAS;AAAA,IACjD,cAAc;AAAA,MACZC,EAAuB;AAAA,MACvBA,EAAuB;AAAA,MACvBA,EAAuB;AAAA,IAAA;AAAA,IAEzB,iBAAiB;AAAA,IACjB,SAAS,CAAC,UAAU,qBAAqB;AAAA,IACzC,WAAWC,EAAU;AAAA,IACrB,WAAWL,EAAiB;AAAA,IAC5B,SAASA,EAAiB;AAAA,IAC1B,cAAcH,EAAgB,iBAAiBS,EAAa,YAAY;AAAA,IACxE,MAAMd;AAAA,IACN,KAAKC;AAAA,EAAA,CACN,GAEKc,IAAiBN,EAAa,eAAe,CAAA,GAC7CO,IAAkBd,EAAmBO,EAAa,SAAS,SAAS,OAAO,GAE3E,EAAE,MAAMQ,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAa3B;AAAA,EAAA,CACd,GAEK4B,IAAiBF,EAAmB,qBAAqB,CAAA,GAEzD,EAAE,aAAaG,GAAe,WAAWC,EAAA,IAAiBC,EAAA;AA4BhE,SACE,gBAAAnC;AAAA,IAACoC;AAAA,IAAA;AAAA,MACC,gBAAAR;AAAA,MACA,gBAAAI;AAAA,MACA,YAAYH;AAAA,MACZ,eA/BsB,CAACQ,GAAmBC,GAAoBC,MAAqB;AACrF,QAAApC,EAAQqC,EAAgB,4BAA4B,EAAE,WAAAH,GAAW,WAAAC,GAAW,SAAAC,GAAS;AAAA,MACvF;AAAA,MA8BI,eA5BsB,CAACF,GAAmBC,GAAoBC,MAAqB;AACrF,QAAApC,EAAQqC,EAAgB,4BAA4B,EAAE,WAAAH,GAAW,WAAAC,GAAW,SAAAC,GAAS;AAAA,MACvF;AAAA,MA2BI,iBAzBwB,OAAOE,MAAkB;AACnD,cAAMJ,IAAYI,EAAK,eAAeA,EAAK;AAC3C,YAAI;AACF,gBAAM9B,EAAkB0B,GAAW,OAAMK,MAAM;AAC7C,kBAAMC,IAAS,MAAMV,EAAc;AAAA,cACjC,SAAS;AAAA,gBACP,WAAA7B;AAAA,gBACA,WAAWsC;AAAA,cAAA;AAAA,YACb,CACD;AAED,YAAAvC,EAAQqC,EAAgB,uBAAuB,EAAE,WAAWE,GAAI,QAAAC,GAAQ;AAAA,UAC1E,CAAC;AAAA,QACH,UAAA;AACE,UAAAlC,EAAoB,IAAI;AAAA,QAC1B;AAAA,MACF;AAAA,MAUI,kBAAAD;AAAA,MACA,oBAAoBC;AAAA,MACpB,qBAAqB,MAAM;AACzB,QAAAA,EAAoB,IAAI;AAAA,MAC1B;AAAA,MACA,WAAWyB;AAAA,MACX,iBAAAhB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,4 +1,4 @@
1
- import { Payroll } from '@gusto/embedded-api/models/components/payroll';
1
+ import { Payroll } from '@gusto/embedded-api/models/components/payrollshow';
2
2
  import { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest';
3
3
  import { PaginationControlProps } from '../../Common/PaginationControl/PaginationControlTypes';
4
4
  import { UseDateRangeFilterResult } from '../../../hooks/useDateRangeFilter/useDateRangeFilter';
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payroll'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollTypeLabel, calculateTotalPayroll, canCancelPayroll } from '../helpers'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex, DateRangeFilter } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\nimport FileIcon from '@/assets/icons/icon-file-outline.svg?react'\nimport ReceiptIcon from '@/assets/icons/icon-receipt-outline.svg?react'\nimport { EmptyData } from '@/components/Common/'\n\ninterface PayrollHistoryPresentationProps {\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n pagination: PaginationControlProps\n onViewSummary: (payrollId: string, startDate?: string, endDate?: string) => void\n onViewReceipt: (payrollId: string, startDate?: string, endDate?: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n dateRangeFilter: UseDateRangeFilterResult\n}\n\n/** @internal */\nexport const PayrollHistoryPresentation = ({\n payrollHistory,\n wireInRequests,\n pagination,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n dateRangeFilter,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const formatDeadlineForDialog = (item: Payroll): string => {\n const deadline = item.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <FileIcon aria-hidden />,\n onClick: () => {\n onViewSummary(payrollId, item.payPeriod?.startDate, item.payPeriod?.endDate)\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ReceiptIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(payrollId, item.payPeriod?.startDate, item.payPeriod?.endDate)\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\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 label={t('dataView.label')}\n pagination={pagination}\n emptyState={() => (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n )}\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) =>\n dateFormatter.formatPayPeriodRange(\n item.payPeriod?.startDate,\n item.payPeriod?.endDate,\n ),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => getPayrollTypeLabel(item),\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => dateFormatter.formatShortWithYear(item.checkDate),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n render: (item: Payroll) => formatNumberAsCurrency(calculateTotalPayroll(item)),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: dateFormatter.formatPayPeriodRange(\n cancelDialogItem.payPeriod?.startDate,\n cancelDialogItem.payPeriod?.endDate,\n ),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","payrollHistory","wireInRequests","pagination","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","dateRangeFilter","Heading","Text","Dialog","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","formatDeadlineForDialog","item","deadline","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","payrollId","items","jsx","FileIcon","ReceiptIcon","canCancelPayroll","TrashcanIcon","jsxs","Flex","DateRangeFilter","DataView","EmptyData","getPayrollTypeLabel","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollHistoryPresentation.js","sources":["../../../../src/components/Payroll/PayrollHistory/PayrollHistoryPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { PayrollStatusBadges } from '../PayrollStatusBadges'\nimport { getPayrollTypeLabel, calculateTotalPayroll, canCancelPayroll } from '../helpers'\nimport type { MenuItem } from '@/components/Common/UI/Menu/MenuTypes'\nimport { DataView, Flex, DateRangeFilter } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\nimport { useI18n } from '@/i18n'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport type { PaginationControlProps } from '@/components/Common/PaginationControl/PaginationControlTypes'\nimport type { UseDateRangeFilterResult } from '@/hooks/useDateRangeFilter/useDateRangeFilter'\nimport TrashcanIcon from '@/assets/icons/trashcan.svg?react'\nimport FileIcon from '@/assets/icons/icon-file-outline.svg?react'\nimport ReceiptIcon from '@/assets/icons/icon-receipt-outline.svg?react'\nimport { EmptyData } from '@/components/Common/'\n\ninterface PayrollHistoryPresentationProps {\n payrollHistory: Payroll[]\n wireInRequests: WireInRequest[]\n pagination: PaginationControlProps\n onViewSummary: (payrollId: string, startDate?: string, endDate?: string) => void\n onViewReceipt: (payrollId: string, startDate?: string, endDate?: string) => void\n onCancelPayroll: (item: Payroll) => void\n cancelDialogItem: Payroll | null\n onCancelDialogOpen: (item: Payroll) => void\n onCancelDialogClose: () => void\n isLoading?: boolean\n dateRangeFilter: UseDateRangeFilterResult\n}\n\n/** @internal */\nexport const PayrollHistoryPresentation = ({\n payrollHistory,\n wireInRequests,\n pagination,\n onViewSummary,\n onViewReceipt,\n onCancelPayroll,\n cancelDialogItem,\n onCancelDialogOpen,\n onCancelDialogClose,\n isLoading = false,\n dateRangeFilter,\n}: PayrollHistoryPresentationProps) => {\n const { Heading, Text, Dialog } = useComponentContext()\n useI18n('Payroll.PayrollHistory')\n const { t } = useTranslation('Payroll.PayrollHistory')\n const dateFormatter = useDateFormatter()\n\n const formatDeadlineForDialog = (item: Payroll): string => {\n const deadline = item.payrollDeadline\n if (!deadline) return ''\n\n const deadlineDate = new Date(deadline)\n const timeZone = 'America/New_York'\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n weekday: 'short',\n month: 'short',\n day: 'numeric',\n timeZone,\n })\n\n const timeFormatter = new Intl.DateTimeFormat('en-US', {\n hour: 'numeric',\n minute: '2-digit',\n timeZoneName: 'short',\n timeZone,\n })\n\n const dateStr = formatter.format(deadlineDate)\n const timeStr = timeFormatter.format(deadlineDate)\n\n return `${timeStr} on ${dateStr}`\n }\n\n const handleCancelClick = (item: Payroll) => {\n onCancelDialogOpen(item)\n }\n\n const handleConfirmCancel = () => {\n if (cancelDialogItem) {\n onCancelPayroll(cancelDialogItem)\n }\n }\n\n const getMenuItems = (item: Payroll): MenuItem[] => {\n const payrollId = item.payrollUuid || item.uuid!\n const items: MenuItem[] = [\n {\n label: t('menu.viewSummary'),\n icon: <FileIcon aria-hidden />,\n onClick: () => {\n onViewSummary(payrollId, item.payPeriod?.startDate, item.payPeriod?.endDate)\n },\n },\n {\n label: t('menu.viewReceipt'),\n icon: <ReceiptIcon aria-hidden />,\n onClick: () => {\n onViewReceipt(payrollId, item.payPeriod?.startDate, item.payPeriod?.endDate)\n },\n },\n ]\n\n if (canCancelPayroll(item)) {\n items.push({\n label: t('menu.cancelPayroll'),\n icon: <TrashcanIcon aria-hidden />,\n onClick: () => {\n handleCancelClick(item)\n },\n 'data-destructive': 'true',\n })\n }\n\n return items\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\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 label={t('dataView.label')}\n pagination={pagination}\n emptyState={() => (\n <EmptyData title={t('emptyState.title')} description={t('emptyState.description')} />\n )}\n columns={[\n {\n title: t('columns.payPeriod'),\n render: (item: Payroll) =>\n dateFormatter.formatPayPeriodRange(\n item.payPeriod?.startDate,\n item.payPeriod?.endDate,\n ),\n },\n {\n title: t('columns.type'),\n render: (item: Payroll) => getPayrollTypeLabel(item),\n },\n {\n title: t('columns.payDate'),\n render: (item: Payroll) => dateFormatter.formatShortWithYear(item.checkDate),\n },\n {\n title: t('columns.status'),\n render: (item: Payroll) => {\n const wireInRequest = wireInRequests.find(\n wire => wire.paymentUuid === item.payrollUuid,\n )\n return <PayrollStatusBadges payroll={item} wireInRequest={wireInRequest} />\n },\n },\n {\n title: t('columns.totalPayroll'),\n render: (item: Payroll) => formatNumberAsCurrency(calculateTotalPayroll(item)),\n },\n ]}\n data={payrollHistory}\n itemMenu={(item: Payroll) => <HamburgerMenu items={getMenuItems(item)} />}\n />\n\n <Dialog\n isOpen={!!cancelDialogItem}\n onClose={onCancelDialogClose}\n onPrimaryActionClick={handleConfirmCancel}\n isDestructive\n isPrimaryActionLoading={isLoading}\n primaryActionLabel={t('cancelDialog.primaryAction')}\n closeActionLabel={t('cancelDialog.secondaryAction')}\n title={\n cancelDialogItem\n ? t('cancelDialog.title', {\n payPeriod: dateFormatter.formatPayPeriodRange(\n cancelDialogItem.payPeriod?.startDate,\n cancelDialogItem.payPeriod?.endDate,\n ),\n })\n : ''\n }\n >\n {cancelDialogItem && (\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('cancelDialog.body')}</Text>\n {cancelDialogItem.payrollDeadline && (\n <Text>\n {t('cancelDialog.deadline', {\n deadline: formatDeadlineForDialog(cancelDialogItem),\n })}\n </Text>\n )}\n </Flex>\n )}\n </Dialog>\n </Flex>\n )\n}\n"],"names":["PayrollHistoryPresentation","payrollHistory","wireInRequests","pagination","onViewSummary","onViewReceipt","onCancelPayroll","cancelDialogItem","onCancelDialogOpen","onCancelDialogClose","isLoading","dateRangeFilter","Heading","Text","Dialog","useComponentContext","useI18n","useTranslation","dateFormatter","useDateFormatter","formatDeadlineForDialog","item","deadline","deadlineDate","timeZone","formatter","timeFormatter","dateStr","handleCancelClick","handleConfirmCancel","getMenuItems","payrollId","items","jsx","FileIcon","ReceiptIcon","canCancelPayroll","TrashcanIcon","jsxs","Flex","DateRangeFilter","DataView","EmptyData","getPayrollTypeLabel","wireInRequest","wire","PayrollStatusBadges","formatNumberAsCurrency","calculateTotalPayroll","HamburgerMenu"],"mappings":"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"}
@@ -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/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePayrollsSkipMutation } from '@gusto/embedded-api/react-query/payrollsSkip'\nimport { usePayrollsDeleteMutation } from '@gusto/embedded-api/react-query/payrollsDelete'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api/react-query/payrollsGetBlockers'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { PayrollType } from '@gusto/embedded-api/models/operations/postcompaniespayrollskipcompanyuuid'\nimport {\n ProcessingStatuses,\n QueryParamPayrollTypes,\n} from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/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<never> {\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 * @events\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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"}
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/react-query/payrollsList'\nimport { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api/react-query/paySchedulesGetAll'\nimport { usePayrollsSkipMutation } from '@gusto/embedded-api/react-query/payrollsSkip'\nimport { usePayrollsDeleteMutation } from '@gusto/embedded-api/react-query/payrollsDelete'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api/react-query/payrollsGetBlockers'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { PayrollType } from '@gusto/embedded-api/models/operations/postcompaniespayrollskipcompanyuuid'\nimport {\n ProcessingStatuses,\n QueryParamPayrollTypes,\n} from '@gusto/embedded-api/models/operations/getv1companiescompanyidpayrolls'\nimport type { Payroll } from '@gusto/embedded-api/models/components/payrollshow'\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<never> {\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 * @events\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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"}
@@ -1,4 +1,4 @@
1
- import { Payroll } from '@gusto/embedded-api/models/components/payroll';
1
+ import { Payroll } from '@gusto/embedded-api/models/components/payrollshow';
2
2
  import { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow';
3
3
  import { WireInRequest } from '@gusto/embedded-api/models/components/wireinrequest';
4
4
  import { ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers';
@@ -1,5 +1,5 @@
1
1
  import { jsx as a, jsxs as c } from "react/jsx-runtime";
2
- import { OffCycleReasonType as y } from "@gusto/embedded-api/models/components/payroll";
2
+ import { OffCycleReasonType as y } from "@gusto/embedded-api/models/components/payrollshow";
3
3
  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";