@gusto/embedded-react-sdk 0.36.0 → 0.37.0-rc.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 (344) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/UNSTABLE_Hooks.d.ts +1 -1
  3. package/dist/UNSTABLE_Hooks.js +6 -6
  4. package/dist/components/Base/Base.d.ts +8 -10
  5. package/dist/components/Base/Base.js +121 -100
  6. package/dist/components/Base/Base.js.map +1 -1
  7. package/dist/components/Base/index.d.ts +1 -1
  8. package/dist/components/Base/useBase.d.ts +3 -7
  9. package/dist/components/Base/useBase.js.map +1 -1
  10. package/dist/components/Base/useBaseSubmit.d.ts +3 -5
  11. package/dist/components/Base/useBaseSubmit.js +27 -50
  12. package/dist/components/Base/useBaseSubmit.js.map +1 -1
  13. package/dist/components/Common/SignatureForm/SignatureFormActions.js +1 -1
  14. package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
  15. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  16. package/dist/components/Common/UI/DescriptionList/DescriptionList.module.scss.js +2 -2
  17. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  18. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  19. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +6 -5
  20. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  21. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +6 -8
  22. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  23. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +5 -4
  24. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  25. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +6 -8
  26. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  27. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +8 -10
  28. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  29. package/dist/components/Company/BankAccount/BankAccountForm/context.js +6 -8
  30. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  31. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +6 -8
  32. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  33. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +6 -8
  34. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  35. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +11 -13
  36. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  37. package/dist/components/Company/Industry/Context.js +9 -11
  38. package/dist/components/Company/Industry/Context.js.map +1 -1
  39. package/dist/components/Company/Locations/LocationForm/Form.js +5 -4
  40. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  41. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +6 -8
  42. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  43. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +6 -8
  44. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  45. package/dist/components/Company/OnboardingOverview/context.js +6 -8
  46. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  47. package/dist/components/Company/PaySchedule/PaySchedule.js +60 -60
  48. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  49. package/dist/components/Company/PaySchedule/_parts/Edit.js +10 -9
  50. package/dist/components/Company/PaySchedule/_parts/Edit.js.map +1 -1
  51. package/dist/components/Company/PaySchedule/usePaySchedule.js +8 -10
  52. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  53. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +6 -8
  54. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  55. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +6 -8
  56. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  57. package/dist/components/Contractor/Address/Form.js +7 -6
  58. package/dist/components/Contractor/Address/Form.js.map +1 -1
  59. package/dist/components/Contractor/Address/useAddress.js +8 -10
  60. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  61. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +3 -2
  62. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  63. package/dist/components/Contractor/Profile/ContractorProfileForm.js +15 -15
  64. package/dist/components/Contractor/Profile/useContractorProfile.js +26 -28
  65. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  66. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +13 -15
  67. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  68. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +5 -7
  69. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  70. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +5 -7
  71. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  72. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js +3 -2
  73. package/dist/components/Employee/Deductions/IncludeDeductions/IncludeDeductions.js.map +1 -1
  74. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +6 -8
  75. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  76. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +6 -8
  77. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  78. package/dist/components/Employee/EmployeeList/useEmployeeList.js +6 -8
  79. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  80. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +42 -42
  81. package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +1 -1
  82. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +6 -8
  83. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  84. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +8 -10
  85. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  86. package/dist/components/Employee/Profile/HomeAddress.js +9 -8
  87. package/dist/components/Employee/Profile/HomeAddress.js.map +1 -1
  88. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +15 -14
  89. package/dist/components/Employee/Profile/PersonalDetailsInputs.js.map +1 -1
  90. package/dist/components/Employee/Profile/Profile.js +30 -29
  91. package/dist/components/Employee/Profile/Profile.js.map +1 -1
  92. package/dist/components/Employee/Profile/useProfile.js +6 -8
  93. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  94. package/dist/components/Employee/StateTaxes/StateTaxes.js +50 -50
  95. package/dist/components/Employee/StateTaxes/StateTaxes.js.map +1 -1
  96. package/dist/components/Employee/StateTaxes/useStateTaxes.js +6 -8
  97. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  98. package/dist/components/Employee/Taxes/Taxes.js +53 -53
  99. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  100. package/dist/components/Employee/Taxes/useTaxes.js +6 -8
  101. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  102. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +11 -0
  103. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +123 -0
  104. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -0
  105. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.d.ts +11 -0
  106. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +92 -0
  107. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -0
  108. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +2 -0
  109. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +30 -0
  110. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -0
  111. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +23 -0
  112. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +72 -0
  113. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -0
  114. package/dist/components/Employee/Terminations/TerminationFlow/index.d.ts +3 -0
  115. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.d.ts +7 -0
  116. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +165 -0
  117. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -0
  118. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.test.d.ts +1 -0
  119. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +9 -0
  120. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js +86 -0
  121. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -0
  122. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.d.ts +20 -0
  123. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +103 -0
  124. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -0
  125. package/dist/components/Employee/Terminations/TerminationsData.d.ts +6 -0
  126. package/dist/components/Employee/Terminations/index.d.ts +8 -0
  127. package/dist/components/Employee/Terminations/types.d.ts +1 -0
  128. package/dist/components/Employee/index.d.ts +7 -0
  129. package/dist/components/Employee/index.js +34 -28
  130. package/dist/components/Employee/index.js.map +1 -1
  131. package/dist/components/InformationRequests/InformationRequests.js +31 -31
  132. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  133. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +41 -41
  134. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  135. package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +2 -0
  136. package/dist/components/Payroll/Dismissal/DismissalFlow.js +32 -0
  137. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -0
  138. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.d.ts +16 -0
  139. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +52 -0
  140. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -0
  141. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +6 -0
  142. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js +69 -0
  143. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -0
  144. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.d.ts +9 -0
  145. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +53 -0
  146. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -0
  147. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/index.d.ts +3 -0
  148. package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +6 -0
  149. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +51 -0
  150. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -0
  151. package/dist/components/Payroll/Dismissal/dismissalStateMachine.test.d.ts +1 -0
  152. package/dist/components/Payroll/Dismissal/index.d.ts +3 -0
  153. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -3
  154. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +1 -1
  155. package/dist/components/Payroll/OffCycle/OffCycleFlow.js +19 -18
  156. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  157. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +3 -0
  158. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +32 -24
  159. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  160. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js +45 -45
  161. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  162. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.d.ts +1 -1
  163. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js +75 -66
  164. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.js.map +1 -1
  165. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.module.scss.js +8 -0
  166. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationPresentation.module.scss.js.map +1 -0
  167. package/dist/components/Payroll/OffCycleCreation/OffCycleCreationTypes.d.ts +0 -1
  168. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.module.scss.js +4 -4
  169. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js +2 -2
  170. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes.js.map +1 -1
  171. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.d.ts +1 -0
  172. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js +1 -0
  173. package/dist/components/Payroll/OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation.js.map +1 -1
  174. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +186 -159
  175. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  176. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +3 -3
  177. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +71 -70
  178. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  179. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.d.ts +3 -2
  180. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js +8 -8
  181. package/dist/components/Payroll/PayrollConfiguration/grossUpHelpers.js.map +1 -1
  182. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +5 -3
  183. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +76 -70
  184. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  185. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +47 -42
  186. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  187. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +4 -2
  188. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +225 -194
  189. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  190. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.d.ts +1 -0
  191. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js +12 -0
  192. package/dist/components/Payroll/PayrollFlow/OffCycleFlowContextual.js.map +1 -0
  193. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +3 -0
  194. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  195. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.d.ts +1 -0
  196. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js +21 -0
  197. package/dist/components/Payroll/PayrollFlow/TransitionFlowContextual.js.map +1 -0
  198. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
  199. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +95 -64
  200. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  201. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +53 -47
  202. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  203. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +8 -8
  204. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  205. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +25 -23
  206. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  207. package/dist/components/Payroll/PayrollList/PayrollList.js +40 -32
  208. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  209. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +2 -1
  210. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +110 -93
  211. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  212. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +12 -8
  213. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
  214. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +3 -2
  215. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  216. package/dist/components/Payroll/Transition/TransitionFlow.d.ts +2 -0
  217. package/dist/components/Payroll/Transition/TransitionFlow.js +38 -0
  218. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -0
  219. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +19 -0
  220. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +54 -0
  221. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -0
  222. package/dist/components/Payroll/Transition/index.d.ts +3 -0
  223. package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +6 -0
  224. package/dist/components/Payroll/Transition/transitionStateMachine.js +58 -0
  225. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -0
  226. package/dist/components/Payroll/Transition/transitionStateMachine.test.d.ts +1 -0
  227. package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +2 -0
  228. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js +92 -0
  229. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -0
  230. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.d.ts +2 -0
  231. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js +111 -0
  232. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.js.map +1 -0
  233. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js +8 -0
  234. package/dist/components/Payroll/TransitionCreation/TransitionCreationPresentation.module.scss.js.map +1 -0
  235. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.d.ts +28 -0
  236. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js +21 -0
  237. package/dist/components/Payroll/TransitionCreation/TransitionCreationTypes.js.map +1 -0
  238. package/dist/components/Payroll/TransitionCreation/index.d.ts +3 -0
  239. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.d.ts +8 -0
  240. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js +83 -0
  241. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlert.js.map +1 -0
  242. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.d.ts +16 -0
  243. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js +100 -0
  244. package/dist/components/Payroll/TransitionPayrollAlert/TransitionPayrollAlertPresentation.js.map +1 -0
  245. package/dist/components/Payroll/TransitionPayrollAlert/index.d.ts +2 -0
  246. package/dist/components/Payroll/helpers.d.ts +2 -1
  247. package/dist/components/Payroll/helpers.js +98 -87
  248. package/dist/components/Payroll/helpers.js.map +1 -1
  249. package/dist/components/Payroll/index.d.ts +6 -0
  250. package/dist/components/Payroll/index.js +32 -26
  251. package/dist/components/Payroll/index.js.map +1 -1
  252. package/dist/components/Payroll/payrollTypes.d.ts +21 -0
  253. package/dist/components/Payroll/payrollTypes.js +27 -0
  254. package/dist/components/Payroll/payrollTypes.js.map +1 -0
  255. package/dist/components/Payroll/usePreparedPayrollData.js +5 -7
  256. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  257. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.d.ts +8 -0
  258. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.js +13 -0
  259. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataContext.js.map +1 -0
  260. package/dist/components/UNSTABLE_Hooks/form/FormFieldsMetadataProvider.d.ts +10 -0
  261. package/dist/components/UNSTABLE_Hooks/form/SDKFormProvider.d.ts +18 -0
  262. package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.d.ts +3 -0
  263. package/dist/components/UNSTABLE_Hooks/form/deriveFieldsMetadata.test.d.ts +1 -0
  264. package/dist/components/UNSTABLE_Hooks/form/index.d.ts +9 -0
  265. package/dist/components/UNSTABLE_Hooks/form/types.d.ts +15 -0
  266. package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.d.ts +1 -0
  267. package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.js +15 -0
  268. package/dist/components/UNSTABLE_Hooks/form/useFieldErrorMessage.js.map +1 -0
  269. package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.d.ts +4 -0
  270. package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.js +9 -0
  271. package/dist/components/UNSTABLE_Hooks/form/useFieldsMetadata.js.map +1 -0
  272. package/dist/components/UNSTABLE_Hooks/form/withOptions.d.ts +5 -0
  273. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/index.d.ts +3 -0
  274. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.d.ts +16 -0
  275. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.js +7 -0
  276. package/dist/components/UNSTABLE_Hooks/hooks/useCompensationForm/useCompensationForm.js.map +1 -0
  277. package/dist/components/UNSTABLE_Hooks/index.d.ts +5 -0
  278. package/dist/components/UNSTABLE_Hooks/types.d.ts +46 -0
  279. package/dist/contexts/ApiProvider/ApiProvider.js +11 -11
  280. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  281. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +43 -47
  282. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  283. package/dist/contexts/ObservabilityProvider/index.d.ts +1 -1
  284. package/dist/contexts/ObservabilityProvider/sanitization.d.ts +0 -14
  285. package/dist/contexts/ObservabilityProvider/sanitization.js +51 -51
  286. package/dist/contexts/ObservabilityProvider/sanitization.js.map +1 -1
  287. package/dist/contexts/ObservabilityProvider/useSanitizedObservability.d.ts +0 -3
  288. package/dist/contexts/ObservabilityProvider/useSanitizedObservability.js.map +1 -1
  289. package/dist/i18n/I18n.js +11 -11
  290. package/dist/i18n/I18n.js.map +1 -1
  291. package/dist/i18n/en/Employee.Terminations.TerminateEmployee.json.js +18 -0
  292. package/dist/i18n/en/Employee.Terminations.TerminateEmployee.json.js.map +1 -0
  293. package/dist/i18n/en/Employee.Terminations.TerminationFlow.json.js +12 -0
  294. package/dist/i18n/en/Employee.Terminations.TerminationFlow.json.js.map +1 -0
  295. package/dist/i18n/en/Employee.Terminations.TerminationSummary.json.js +20 -0
  296. package/dist/i18n/en/Employee.Terminations.TerminationSummary.json.js.map +1 -0
  297. package/dist/i18n/en/Payroll.Dismissal.json.js +22 -0
  298. package/dist/i18n/en/Payroll.Dismissal.json.js.map +1 -0
  299. package/dist/i18n/en/Payroll.OffCycleCreation.json.js +15 -11
  300. package/dist/i18n/en/Payroll.OffCycleCreation.json.js.map +1 -1
  301. package/dist/i18n/en/Payroll.OffCyclePayPeriodDateForm.json.js +1 -1
  302. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js +20 -18
  303. package/dist/i18n/en/Payroll.PayrollEditEmployee.json.js.map +1 -1
  304. package/dist/i18n/en/Payroll.PayrollList.json.js +20 -18
  305. package/dist/i18n/en/Payroll.PayrollList.json.js.map +1 -1
  306. package/dist/i18n/en/Payroll.Transition.json.js +8 -0
  307. package/dist/i18n/en/Payroll.Transition.json.js.map +1 -0
  308. package/dist/i18n/en/Payroll.TransitionCreation.json.js +26 -0
  309. package/dist/i18n/en/Payroll.TransitionCreation.json.js.map +1 -0
  310. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js +18 -0
  311. package/dist/i18n/en/Payroll.TransitionPayrollAlert.json.js.map +1 -0
  312. package/dist/i18n/en/common.json.d.ts +2 -1
  313. package/dist/i18n/en/common.json.js +9 -9
  314. package/dist/index.d.ts +3 -2
  315. package/dist/index.js +14 -13
  316. package/dist/shared/constants.d.ts +32 -0
  317. package/dist/shared/constants.js +83 -65
  318. package/dist/shared/constants.js.map +1 -1
  319. package/dist/style.css +1 -1
  320. package/dist/types/i18next.d.ts +163 -1
  321. package/dist/types/observability.d.ts +31 -65
  322. package/dist/types/sdkError.d.ts +91 -0
  323. package/dist/types/sdkError.js +95 -0
  324. package/dist/types/sdkError.js.map +1 -0
  325. package/dist/types/sdkError.test.d.ts +1 -0
  326. package/docs/reference/endpoint-inventory.json +120 -14
  327. package/package.json +13 -13
  328. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.d.ts +0 -6
  329. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.js +0 -70
  330. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfiguration.js.map +0 -1
  331. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.d.ts +0 -7
  332. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js +0 -6
  333. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationContext.js.map +0 -1
  334. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.d.ts +0 -9
  335. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.js +0 -40
  336. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/PayrollConfigurationProvider.js.map +0 -1
  337. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/index.d.ts +0 -5
  338. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.d.ts +0 -2
  339. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.js +0 -12
  340. package/dist/components/Payroll/UNSTABLE_PayrollHooks/PayrollConfiguration/usePayrollConfiguration.js.map +0 -1
  341. package/dist/components/Payroll/UNSTABLE_PayrollHooks/index.d.ts +0 -2
  342. package/dist/contexts/ObservabilityProvider/observabilityUtils.d.ts +0 -5
  343. package/dist/contexts/ObservabilityProvider/observabilityUtils.js +0 -45
  344. package/dist/contexts/ObservabilityProvider/observabilityUtils.js.map +0 -1
@@ -1,39 +1,39 @@
1
- import { jsx as t, jsxs as W, Fragment as C } from "react/jsx-runtime";
2
- import { zodResolver as J } from "@hookform/resolvers/zod";
3
- import { useForm as V, FormProvider as X } from "react-hook-form";
1
+ import { jsx as t, jsxs as C, Fragment as J } from "react/jsx-runtime";
2
+ import { zodResolver as V } from "@hookform/resolvers/zod";
3
+ import { useForm as X, FormProvider as j } from "react-hook-form";
4
4
  import "react-i18next";
5
5
  import { useEffect as q } from "react";
6
6
  import { useEmployeeTaxSetupGetFederalTaxesSuspense as B } from "@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes";
7
7
  import { useEmployeeTaxSetupUpdateFederalTaxesMutation as H } from "@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes";
8
8
  import { useEmployeeTaxSetupGetStateTaxesSuspense as Y } from "@gusto/embedded-api/react-query/employeeTaxSetupGetStateTaxes";
9
- import { useEmployeeTaxSetupUpdateStateTaxesMutation as j } from "@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes";
10
- import { Actions as z } from "./Actions.js";
11
- import { FederalFormSchema as G, FederalForm as K } from "./FederalForm.js";
12
- import { FederalHead as Q } from "./FederalHead.js";
13
- import { StateFormSchema as Z, StateForm as $ } from "./StateForm.js";
14
- import { TaxesProvider as ee } from "./useTaxes.js";
15
- import { BaseComponent as te } from "../../Base/Base.js";
16
- import { useBase as oe } from "../../Base/useBase.js";
9
+ import { useEmployeeTaxSetupUpdateStateTaxesMutation as z } from "@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes";
10
+ import { Actions as G } from "./Actions.js";
11
+ import { FederalFormSchema as K, FederalForm as Q } from "./FederalForm.js";
12
+ import { FederalHead as Z } from "./FederalHead.js";
13
+ import { StateFormSchema as $, StateForm as ee } from "./StateForm.js";
14
+ import { TaxesProvider as te } from "./useTaxes.js";
15
+ import { BaseComponent as oe } from "../../Base/Base.js";
16
+ import { useBase as se } from "../../Base/useBase.js";
17
17
  import "../../Flow/useFlow.js";
18
- import { useI18n as se, useComponentDictionary as re } from "../../../i18n/I18n.js";
18
+ import { useI18n as re, useComponentDictionary as ne } from "../../../i18n/I18n.js";
19
19
  import { componentEvents as h } from "../../../shared/constants.js";
20
- import { snakeCaseToCamelCase as g, normalizeErrorKeyForForm as ne } from "../../../helpers/formattedStrings.js";
21
- import { Form as ae } from "../../Common/Form/Form.js";
22
- const ie = "2010-01-01";
23
- function Ue(i) {
24
- return /* @__PURE__ */ t(te, { ...i, children: /* @__PURE__ */ t(me, { ...i, children: i.children }) });
20
+ import { snakeCaseToCamelCase as A, normalizeErrorKeyForForm as ae } from "../../../helpers/formattedStrings.js";
21
+ import { Form as ie } from "../../Common/Form/Form.js";
22
+ const me = "2010-01-01";
23
+ function Ie(i) {
24
+ return /* @__PURE__ */ t(oe, { ...i, children: /* @__PURE__ */ t(de, { ...i, children: i.children }) });
25
25
  }
26
- const me = (i) => {
27
- const { employeeId: u, className: v, children: E, isAdmin: x = !1, dictionary: w } = i, { onEvent: c, fieldErrors: l, baseSubmitHandler: _ } = oe();
28
- se("Employee.Taxes"), re("Employee.Taxes", w);
29
- const { data: D } = B({
30
- employeeUuid: u
31
- }), e = D.employeeFederalTax, { mutateAsync: N, isPending: P } = H(), { data: U } = Y({
32
- employeeUuid: u
33
- }), f = U.employeeStateTaxesList, { mutateAsync: I, isPending: R } = j(), k = e.w4DataType === "rev_2020_w4", S = f.reduce((s, r) => (r.state && (s[r.state] = r.questions?.reduce((n, o) => {
34
- const m = o.answers[0]?.value, d = g(o.key);
26
+ const de = (i) => {
27
+ const { employeeId: l, className: v, children: E, isAdmin: x = !1, dictionary: w } = i, { onEvent: c, error: _, baseSubmitHandler: D } = se();
28
+ re("Employee.Taxes"), ne("Employee.Taxes", w);
29
+ const { data: N } = B({
30
+ employeeUuid: l
31
+ }), e = N.employeeFederalTax, { mutateAsync: P, isPending: U } = H(), { data: I } = Y({
32
+ employeeUuid: l
33
+ }), f = I.employeeStateTaxesList, { mutateAsync: R, isPending: k } = z(), L = e.w4DataType === "rev_2020_w4", S = f.reduce((s, r) => (r.state && (s[r.state] = r.questions?.reduce((n, o) => {
34
+ const m = o.answers[0]?.value, d = A(o.key);
35
35
  return d === "fileNewHireReport" ? n[d] = typeof m > "u" ? !0 : m : n[d] = m, n;
36
- }, {})), s), {}), L = k ? {
36
+ }, {})), s), {}), M = L ? {
37
37
  filingStatus: e.filingStatus ?? "",
38
38
  twoJobs: e.twoJobs ? "true" : "false",
39
39
  deductions: e.deductions ? Number(e.deductions) : 0,
@@ -49,25 +49,25 @@ const me = (i) => {
49
49
  otherIncome: 0,
50
50
  extraWithholding: 0,
51
51
  states: S
52
- }, F = V({
53
- resolver: J(G.and(Z)),
54
- defaultValues: L
55
- }), { handleSubmit: M, setError: A } = F;
52
+ }, F = X({
53
+ resolver: V(K.and($)),
54
+ defaultValues: M
55
+ }), { handleSubmit: O, setError: b } = F, u = _?.fieldErrors;
56
56
  return q(() => {
57
- l && l.length > 0 && l.forEach((s) => {
58
- const r = ne(s.errorKey);
59
- A(r, { type: "custom", message: s.message });
57
+ u && u.length > 0 && u.forEach((s) => {
58
+ const r = ae(s.field);
59
+ b(r, { type: "custom", message: s.message });
60
60
  });
61
- }, [l, A]), /* @__PURE__ */ t("section", { className: v, children: /* @__PURE__ */ t(
62
- ee,
61
+ }, [u, b]), /* @__PURE__ */ t("section", { className: v, children: /* @__PURE__ */ t(
62
+ te,
63
63
  {
64
64
  value: {
65
65
  employeeStateTaxes: f,
66
66
  isAdmin: x,
67
- isPending: P || R
67
+ isPending: U || k
68
68
  },
69
- children: /* @__PURE__ */ t(X, { ...F, children: /* @__PURE__ */ t(ae, { onSubmit: M(async (s) => {
70
- await _(s, async (r) => {
69
+ children: /* @__PURE__ */ t(j, { ...F, children: /* @__PURE__ */ t(ie, { onSubmit: O(async (s) => {
70
+ await D(s, async (r) => {
71
71
  const { states: n, ...o } = r, m = {
72
72
  filingStatus: o.filingStatus,
73
73
  twoJobs: o.twoJobs === "true",
@@ -77,27 +77,27 @@ const me = (i) => {
77
77
  extraWithholding: Number(o.extraWithholding),
78
78
  w4DataType: "rev_2020_w4",
79
79
  version: e.version
80
- }, d = await N({
80
+ }, d = await P({
81
81
  request: {
82
- employeeUuid: u,
82
+ employeeUuid: l,
83
83
  requestBody: m
84
84
  }
85
85
  });
86
86
  if (c(h.EMPLOYEE_FEDERAL_TAXES_UPDATED, d), n && Object.keys(n).length > 0) {
87
- const b = [];
87
+ const g = [];
88
88
  for (const y of f) {
89
89
  const T = y.state;
90
- T && y.questions !== void 0 && b.push({
90
+ T && y.questions !== void 0 && g.push({
91
91
  state: T,
92
92
  questions: y.questions.map((a) => {
93
93
  if (a.isQuestionForAdminOnly && !x)
94
94
  return null;
95
- const p = n[T]?.[g(a.key)];
95
+ const p = n[T]?.[A(a.key)];
96
96
  return {
97
97
  key: a.key,
98
98
  answers: [
99
99
  {
100
- validFrom: a.answers[0]?.validFrom ?? ie,
100
+ validFrom: a.answers[0]?.validFrom ?? me,
101
101
  validUpTo: a.answers[0]?.validUpTo ?? null,
102
102
  value: p == null || typeof p == "number" && isNaN(p) ? "" : p
103
103
  }
@@ -106,23 +106,23 @@ const me = (i) => {
106
106
  }).filter((a) => a !== null)
107
107
  });
108
108
  }
109
- const O = await I({
110
- request: { employeeUuid: u, employeeStateTaxesRequest: { states: b } }
109
+ const W = await R({
110
+ request: { employeeUuid: l, employeeStateTaxesRequest: { states: g } }
111
111
  });
112
- c(h.EMPLOYEE_STATE_TAXES_UPDATED, O);
112
+ c(h.EMPLOYEE_STATE_TAXES_UPDATED, W);
113
113
  }
114
114
  c(h.EMPLOYEE_TAXES_DONE);
115
115
  });
116
- }), children: E || /* @__PURE__ */ W(C, { children: [
116
+ }), children: E || /* @__PURE__ */ C(J, { children: [
117
+ /* @__PURE__ */ t(Z, {}),
117
118
  /* @__PURE__ */ t(Q, {}),
118
- /* @__PURE__ */ t(K, {}),
119
- /* @__PURE__ */ t($, {}),
120
- /* @__PURE__ */ t(z, {})
119
+ /* @__PURE__ */ t(ee, {}),
120
+ /* @__PURE__ */ t(G, {})
121
121
  ] }) }) })
122
122
  }
123
123
  ) });
124
124
  };
125
125
  export {
126
- Ue as Taxes
126
+ Ie as Taxes
127
127
  };
128
128
  //# sourceMappingURL=Taxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Taxes.js","sources":["../../../../src/components/Employee/Taxes/Taxes.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { FormProvider, useForm, type SubmitHandler } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { useEffect } from 'react'\nimport { useEmployeeTaxSetupGetFederalTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport { useEmployeeTaxSetupGetStateTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetStateTaxes'\nimport { useEmployeeTaxSetupUpdateStateTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes'\nimport type { PutV1EmployeesEmployeeIdFederalTaxesRequestBody } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidfederaltaxes'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { Actions } from './Actions'\nimport {\n FederalForm,\n FederalFormSchema,\n type FederalFormInputs,\n type FederalFormPayload,\n} from './FederalForm'\nimport { FederalHead } from './FederalHead'\nimport { StateForm, StateFormSchema, type StateFormPayload } from './StateForm'\nimport { TaxesProvider } from './useTaxes'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { snakeCaseToCamelCase, normalizeErrorKeyForForm } from '@/helpers/formattedStrings'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst DEFAULT_TAX_VALID_FROM = '2010-01-01'\n\ninterface TaxesProps extends CommonComponentInterface<'Employee.Taxes'> {\n employeeId: string\n isAdmin?: boolean\n}\n\n/**\n * @deprecated The Taxes component has been deprecated and will be removed in a future release.\n * The component has been split into separate components for state and federal. Use Employee.FederalTaxes\n * and Employee.StateTaxes components instead.\n */\nexport function Taxes(props: TaxesProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = (props: TaxesProps) => {\n const { employeeId, className, children, isAdmin = false, dictionary } = props\n const { onEvent, fieldErrors, baseSubmitHandler } = useBase()\n useI18n('Employee.Taxes')\n useComponentDictionary('Employee.Taxes', dictionary)\n\n const { data: fedData } = useEmployeeTaxSetupGetFederalTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeFederalTax = fedData.employeeFederalTax!\n\n const { mutateAsync: updateFederalTaxes, isPending: isPendingFederalTaxes } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const { data: stateData } = useEmployeeTaxSetupGetStateTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeStateTaxes = stateData.employeeStateTaxesList!\n const { mutateAsync: updateStateTaxes, isPending: isPendingStateTaxes } =\n useEmployeeTaxSetupUpdateStateTaxesMutation()\n\n const isRev2020 = employeeFederalTax.w4DataType === 'rev_2020_w4'\n\n const statesDefaultValues = employeeStateTaxes.reduce((acc: Record<string, unknown>, state) => {\n if (state.state) {\n acc[state.state] = state.questions?.reduce((acc: Record<string, unknown>, question) => {\n const value = question.answers[0]?.value\n const key = snakeCaseToCamelCase(question.key)\n if (key === 'fileNewHireReport') {\n acc[key] = typeof value === 'undefined' ? true : value\n } else {\n acc[key] = value\n }\n return acc\n }, {})\n }\n return acc\n }, {})\n\n const defaultValues = isRev2020\n ? {\n filingStatus: employeeFederalTax.filingStatus ?? '',\n twoJobs: employeeFederalTax.twoJobs ? 'true' : 'false',\n deductions: employeeFederalTax.deductions ? Number(employeeFederalTax.deductions) : 0,\n dependentsAmount: employeeFederalTax.dependentsAmount\n ? Number(employeeFederalTax.dependentsAmount)\n : 0,\n otherIncome: employeeFederalTax.otherIncome ? Number(employeeFederalTax.otherIncome) : 0,\n extraWithholding: employeeFederalTax.extraWithholding\n ? Number(employeeFederalTax.extraWithholding)\n : 0,\n states: statesDefaultValues,\n }\n : {\n filingStatus: '',\n twoJobs: 'false',\n deductions: 0,\n dependentsAmount: 0,\n otherIncome: 0,\n extraWithholding: 0,\n states: statesDefaultValues,\n }\n\n const formMethods = useForm<FederalFormInputs, unknown, FederalFormPayload & StateFormPayload>({\n resolver: zodResolver(FederalFormSchema.and(StateFormSchema)),\n defaultValues,\n })\n const { handleSubmit, setError: _setError } = formMethods\n\n useEffect(() => {\n if (fieldErrors && fieldErrors.length > 0) {\n fieldErrors.forEach(msgObject => {\n const key = normalizeErrorKeyForForm(msgObject.errorKey)\n _setError(key as keyof FederalFormInputs, { type: 'custom', message: msgObject.message })\n })\n }\n }, [fieldErrors, _setError])\n\n const onSubmit: SubmitHandler<FederalFormPayload & StateFormPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { states: statesPayload, ...federalPayload } = payload\n\n const requestBody: PutV1EmployeesEmployeeIdFederalTaxesRequestBody = {\n filingStatus:\n federalPayload.filingStatus as PutV1EmployeesEmployeeIdFederalTaxesRequestBody['filingStatus'],\n twoJobs: federalPayload.twoJobs === 'true',\n dependentsAmount: Number(federalPayload.dependentsAmount),\n otherIncome: Number(federalPayload.otherIncome),\n deductions: Number(federalPayload.deductions),\n extraWithholding: Number(federalPayload.extraWithholding),\n w4DataType: 'rev_2020_w4',\n version: employeeFederalTax.version,\n }\n\n const federalTaxesResponse = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, federalTaxesResponse)\n\n if (statesPayload && Object.keys(statesPayload).length > 0) {\n const states = []\n\n for (const state of employeeStateTaxes) {\n const stateName = state.state\n\n if (stateName && state.questions !== undefined) {\n states.push({\n state: stateName,\n questions: state.questions\n .map(question => {\n if (question.isQuestionForAdminOnly && !isAdmin) {\n return null\n }\n const formValue = statesPayload[stateName]?.[snakeCaseToCamelCase(question.key)]\n return {\n key: question.key,\n answers: [\n {\n validFrom: question.answers[0]?.validFrom ?? DEFAULT_TAX_VALID_FROM,\n validUpTo: question.answers[0]?.validUpTo ?? null,\n value:\n formValue == null || (typeof formValue === 'number' && isNaN(formValue))\n ? ''\n : (formValue as string | number | boolean),\n },\n ],\n }\n })\n .filter(q => q !== null),\n })\n }\n }\n\n const stateTaxesResponse = await updateStateTaxes({\n request: { employeeUuid: employeeId, employeeStateTaxesRequest: { states } },\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, stateTaxesResponse)\n }\n\n onEvent(componentEvents.EMPLOYEE_TAXES_DONE)\n })\n }\n\n return (\n <section className={className}>\n <TaxesProvider\n value={{\n employeeStateTaxes,\n isAdmin: isAdmin,\n isPending: isPendingFederalTaxes || isPendingStateTaxes,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <FederalHead />\n <FederalForm />\n <StateForm />\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </TaxesProvider>\n </section>\n )\n}\n\nexport const TaxesContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation()\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'EmployeeTaxes',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <Taxes employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin ?? false} />\n}\n"],"names":["DEFAULT_TAX_VALID_FROM","Taxes","props","jsx","BaseComponent","Root","employeeId","className","children","isAdmin","dictionary","onEvent","fieldErrors","baseSubmitHandler","useBase","useI18n","useComponentDictionary","fedData","useEmployeeTaxSetupGetFederalTaxesSuspense","employeeFederalTax","updateFederalTaxes","isPendingFederalTaxes","useEmployeeTaxSetupUpdateFederalTaxesMutation","stateData","useEmployeeTaxSetupGetStateTaxesSuspense","employeeStateTaxes","updateStateTaxes","isPendingStateTaxes","useEmployeeTaxSetupUpdateStateTaxesMutation","isRev2020","statesDefaultValues","acc","state","question","value","key","snakeCaseToCamelCase","defaultValues","formMethods","useForm","zodResolver","FederalFormSchema","StateFormSchema","handleSubmit","_setError","useEffect","msgObject","normalizeErrorKeyForForm","TaxesProvider","FormProvider","Form","data","payload","statesPayload","federalPayload","requestBody","federalTaxesResponse","componentEvents","states","stateName","formValue","q","stateTaxesResponse","jsxs","Fragment","FederalHead","FederalForm","StateForm","Actions"],"mappings":"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"}
1
+ {"version":3,"file":"Taxes.js","sources":["../../../../src/components/Employee/Taxes/Taxes.tsx"],"sourcesContent":["import { zodResolver } from '@hookform/resolvers/zod'\nimport { FormProvider, useForm, type SubmitHandler } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { useEffect } from 'react'\nimport { useEmployeeTaxSetupGetFederalTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetFederalTaxes'\nimport { useEmployeeTaxSetupUpdateFederalTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateFederalTaxes'\nimport { useEmployeeTaxSetupGetStateTaxesSuspense } from '@gusto/embedded-api/react-query/employeeTaxSetupGetStateTaxes'\nimport { useEmployeeTaxSetupUpdateStateTaxesMutation } from '@gusto/embedded-api/react-query/employeeTaxSetupUpdateStateTaxes'\nimport type { PutV1EmployeesEmployeeIdFederalTaxesRequestBody } from '@gusto/embedded-api/models/operations/putv1employeesemployeeidfederaltaxes'\nimport type { OnboardingContextInterface } from '../OnboardingFlow/OnboardingFlowComponents'\nimport { Actions } from './Actions'\nimport {\n FederalForm,\n FederalFormSchema,\n type FederalFormInputs,\n type FederalFormPayload,\n} from './FederalForm'\nimport { FederalHead } from './FederalHead'\nimport { StateForm, StateFormSchema, type StateFormPayload } from './StateForm'\nimport { TaxesProvider } from './useTaxes'\nimport {\n useBase,\n BaseComponent,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { snakeCaseToCamelCase, normalizeErrorKeyForForm } from '@/helpers/formattedStrings'\nimport { Form } from '@/components/Common/Form'\nimport { useComponentDictionary } from '@/i18n/I18n'\n\nconst DEFAULT_TAX_VALID_FROM = '2010-01-01'\n\ninterface TaxesProps extends CommonComponentInterface<'Employee.Taxes'> {\n employeeId: string\n isAdmin?: boolean\n}\n\n/**\n * @deprecated The Taxes component has been deprecated and will be removed in a future release.\n * The component has been split into separate components for state and federal. Use Employee.FederalTaxes\n * and Employee.StateTaxes components instead.\n */\nexport function Taxes(props: TaxesProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = (props: TaxesProps) => {\n const { employeeId, className, children, isAdmin = false, dictionary } = props\n const { onEvent, error, baseSubmitHandler } = useBase()\n useI18n('Employee.Taxes')\n useComponentDictionary('Employee.Taxes', dictionary)\n\n const { data: fedData } = useEmployeeTaxSetupGetFederalTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeFederalTax = fedData.employeeFederalTax!\n\n const { mutateAsync: updateFederalTaxes, isPending: isPendingFederalTaxes } =\n useEmployeeTaxSetupUpdateFederalTaxesMutation()\n\n const { data: stateData } = useEmployeeTaxSetupGetStateTaxesSuspense({\n employeeUuid: employeeId,\n })\n const employeeStateTaxes = stateData.employeeStateTaxesList!\n const { mutateAsync: updateStateTaxes, isPending: isPendingStateTaxes } =\n useEmployeeTaxSetupUpdateStateTaxesMutation()\n\n const isRev2020 = employeeFederalTax.w4DataType === 'rev_2020_w4'\n\n const statesDefaultValues = employeeStateTaxes.reduce((acc: Record<string, unknown>, state) => {\n if (state.state) {\n acc[state.state] = state.questions?.reduce((acc: Record<string, unknown>, question) => {\n const value = question.answers[0]?.value\n const key = snakeCaseToCamelCase(question.key)\n if (key === 'fileNewHireReport') {\n acc[key] = typeof value === 'undefined' ? true : value\n } else {\n acc[key] = value\n }\n return acc\n }, {})\n }\n return acc\n }, {})\n\n const defaultValues = isRev2020\n ? {\n filingStatus: employeeFederalTax.filingStatus ?? '',\n twoJobs: employeeFederalTax.twoJobs ? 'true' : 'false',\n deductions: employeeFederalTax.deductions ? Number(employeeFederalTax.deductions) : 0,\n dependentsAmount: employeeFederalTax.dependentsAmount\n ? Number(employeeFederalTax.dependentsAmount)\n : 0,\n otherIncome: employeeFederalTax.otherIncome ? Number(employeeFederalTax.otherIncome) : 0,\n extraWithholding: employeeFederalTax.extraWithholding\n ? Number(employeeFederalTax.extraWithholding)\n : 0,\n states: statesDefaultValues,\n }\n : {\n filingStatus: '',\n twoJobs: 'false',\n deductions: 0,\n dependentsAmount: 0,\n otherIncome: 0,\n extraWithholding: 0,\n states: statesDefaultValues,\n }\n\n const formMethods = useForm<FederalFormInputs, unknown, FederalFormPayload & StateFormPayload>({\n resolver: zodResolver(FederalFormSchema.and(StateFormSchema)),\n defaultValues,\n })\n const { handleSubmit, setError: _setError } = formMethods\n\n const fieldErrors = error?.fieldErrors\n useEffect(() => {\n if (fieldErrors && fieldErrors.length > 0) {\n fieldErrors.forEach(fieldError => {\n const key = normalizeErrorKeyForForm(fieldError.field)\n _setError(key as keyof FederalFormInputs, { type: 'custom', message: fieldError.message })\n })\n }\n }, [fieldErrors, _setError])\n\n const onSubmit: SubmitHandler<FederalFormPayload & StateFormPayload> = async data => {\n await baseSubmitHandler(data, async payload => {\n const { states: statesPayload, ...federalPayload } = payload\n\n const requestBody: PutV1EmployeesEmployeeIdFederalTaxesRequestBody = {\n filingStatus:\n federalPayload.filingStatus as PutV1EmployeesEmployeeIdFederalTaxesRequestBody['filingStatus'],\n twoJobs: federalPayload.twoJobs === 'true',\n dependentsAmount: Number(federalPayload.dependentsAmount),\n otherIncome: Number(federalPayload.otherIncome),\n deductions: Number(federalPayload.deductions),\n extraWithholding: Number(federalPayload.extraWithholding),\n w4DataType: 'rev_2020_w4',\n version: employeeFederalTax.version,\n }\n\n const federalTaxesResponse = await updateFederalTaxes({\n request: {\n employeeUuid: employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_FEDERAL_TAXES_UPDATED, federalTaxesResponse)\n\n if (statesPayload && Object.keys(statesPayload).length > 0) {\n const states = []\n\n for (const state of employeeStateTaxes) {\n const stateName = state.state\n\n if (stateName && state.questions !== undefined) {\n states.push({\n state: stateName,\n questions: state.questions\n .map(question => {\n if (question.isQuestionForAdminOnly && !isAdmin) {\n return null\n }\n const formValue = statesPayload[stateName]?.[snakeCaseToCamelCase(question.key)]\n return {\n key: question.key,\n answers: [\n {\n validFrom: question.answers[0]?.validFrom ?? DEFAULT_TAX_VALID_FROM,\n validUpTo: question.answers[0]?.validUpTo ?? null,\n value:\n formValue == null || (typeof formValue === 'number' && isNaN(formValue))\n ? ''\n : (formValue as string | number | boolean),\n },\n ],\n }\n })\n .filter(q => q !== null),\n })\n }\n }\n\n const stateTaxesResponse = await updateStateTaxes({\n request: { employeeUuid: employeeId, employeeStateTaxesRequest: { states } },\n })\n onEvent(componentEvents.EMPLOYEE_STATE_TAXES_UPDATED, stateTaxesResponse)\n }\n\n onEvent(componentEvents.EMPLOYEE_TAXES_DONE)\n })\n }\n\n return (\n <section className={className}>\n <TaxesProvider\n value={{\n employeeStateTaxes,\n isAdmin: isAdmin,\n isPending: isPendingFederalTaxes || isPendingStateTaxes,\n }}\n >\n <FormProvider {...formMethods}>\n <Form onSubmit={handleSubmit(onSubmit)}>\n {children ? (\n children\n ) : (\n <>\n <FederalHead />\n <FederalForm />\n <StateForm />\n <Actions />\n </>\n )}\n </Form>\n </FormProvider>\n </TaxesProvider>\n </section>\n )\n}\n\nexport const TaxesContextual = () => {\n const { employeeId, onEvent, isAdmin } = useFlow<OnboardingContextInterface>()\n const { t } = useTranslation()\n if (!employeeId) {\n throw new Error(\n t('errors.missingParamsOrContext', {\n component: 'EmployeeTaxes',\n param: 'employeeId',\n provider: 'FlowProvider',\n }),\n )\n }\n return <Taxes employeeId={employeeId} onEvent={onEvent} isAdmin={isAdmin ?? false} />\n}\n"],"names":["DEFAULT_TAX_VALID_FROM","Taxes","props","jsx","BaseComponent","Root","employeeId","className","children","isAdmin","dictionary","onEvent","error","baseSubmitHandler","useBase","useI18n","useComponentDictionary","fedData","useEmployeeTaxSetupGetFederalTaxesSuspense","employeeFederalTax","updateFederalTaxes","isPendingFederalTaxes","useEmployeeTaxSetupUpdateFederalTaxesMutation","stateData","useEmployeeTaxSetupGetStateTaxesSuspense","employeeStateTaxes","updateStateTaxes","isPendingStateTaxes","useEmployeeTaxSetupUpdateStateTaxesMutation","isRev2020","statesDefaultValues","acc","state","question","value","key","snakeCaseToCamelCase","defaultValues","formMethods","useForm","zodResolver","FederalFormSchema","StateFormSchema","handleSubmit","_setError","fieldErrors","useEffect","fieldError","normalizeErrorKeyForForm","TaxesProvider","FormProvider","Form","data","payload","statesPayload","federalPayload","requestBody","federalTaxesResponse","componentEvents","states","stateName","formValue","q","stateTaxesResponse","jsxs","Fragment","FederalHead","FederalForm","StateForm","Actions"],"mappings":"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"}
@@ -2,20 +2,18 @@ import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "react-error-boundary";
4
4
  import "react-i18next";
5
- import "@gusto/embedded-api/models/errors/gustoembeddederror";
6
- import "@gusto/embedded-api/models/errors/sdkvalidationerror";
7
5
  import "@tanstack/react-query";
8
6
  import "../../Base/useBase.js";
9
7
  import "../../../shared/constants.js";
10
8
  import "classnames";
11
9
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
12
- import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
13
- import "dompurify";
14
- import "../../../contexts/LocaleProvider/useLocale.js";
10
+ import "@gusto/embedded-api/models/errors/gustoembeddederror";
11
+ import "@gusto/embedded-api/models/errors/httpclienterrors";
12
+ import "@gusto/embedded-api/models/errors/sdkvalidationerror";
15
13
  import { createCompoundContext as o } from "../../Base/createCompoundContext.js";
16
- const [f, v] = o("TaxesContext");
14
+ const [d, u] = o("TaxesContext");
17
15
  export {
18
- v as TaxesProvider,
19
- f as useTaxes
16
+ u as TaxesProvider,
17
+ d as useTaxes
20
18
  };
21
19
  //# sourceMappingURL=useTaxes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
1
+ {"version":3,"file":"useTaxes.js","sources":["../../../../src/components/Employee/Taxes/useTaxes.ts"],"sourcesContent":["import type { EmployeeStateTaxesList } from '@gusto/embedded-api/models/components/employeestatetaxeslist'\nimport { createCompoundContext } from '@/components/Base'\n\ntype TaxesContextType = {\n employeeStateTaxes: EmployeeStateTaxesList[]\n isPending: boolean\n isAdmin: boolean\n}\n\nconst [useTaxes, TaxesProvider] = createCompoundContext<TaxesContextType>('TaxesContext')\nexport { useTaxes, TaxesProvider }\n"],"names":["useTaxes","TaxesProvider","createCompoundContext"],"mappings":";;;;;;;;;;;;;AASA,MAAM,CAACA,GAAUC,CAAa,IAAIC,EAAwC,cAAc;"}
@@ -0,0 +1,11 @@
1
+ import { PayrollOption } from '../types';
2
+ import { BaseComponentInterface } from '../../../Base/Base';
3
+ export interface TerminateEmployeeProps extends BaseComponentInterface<'Employee.Terminations.TerminateEmployee'> {
4
+ employeeId: string;
5
+ companyId: string;
6
+ }
7
+ export interface TerminateEmployeeFormData {
8
+ lastDayOfWork: Date;
9
+ payrollOption: PayrollOption;
10
+ }
11
+ export declare function TerminateEmployee(props: TerminateEmployeeProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,123 @@
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { useQueryClient as S } from "@tanstack/react-query";
3
+ import { useEmployeesGetSuspense as Y } from "@gusto/embedded-api/react-query/employeesGet";
4
+ import { useEmployeeEmploymentsGetTerminationsSuspense as q, invalidateAllEmployeeEmploymentsGetTerminations as I } from "@gusto/embedded-api/react-query/employeeEmploymentsGetTerminations";
5
+ import { useEmployeeEmploymentsCreateTerminationMutation as b } from "@gusto/embedded-api/react-query/employeeEmploymentsCreateTermination";
6
+ import { useEmployeeEmploymentsUpdateTerminationMutation as B } from "@gusto/embedded-api/react-query/employeeEmploymentsUpdateTermination";
7
+ import { usePayrollsCreateOffCycleMutation as G } from "@gusto/embedded-api/react-query/payrollsCreateOffCycle";
8
+ import { usePaySchedulesGetUnprocessedTerminationPeriods as k, invalidateAllPaySchedulesGetUnprocessedTerminationPeriods as x } from "@gusto/embedded-api/react-query/paySchedulesGetUnprocessedTerminationPeriods";
9
+ import { invalidateAllPayrollsList as W } from "@gusto/embedded-api/react-query/payrollsList";
10
+ import { OffCycleReason as F } from "@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls";
11
+ import { RFCDate as y } from "@gusto/embedded-api/types/rfcdate";
12
+ import { TerminateEmployeePresentation as H } from "./TerminateEmployeePresentation.js";
13
+ import { BaseComponent as j } from "../../../Base/Base.js";
14
+ import { useBase as Q } from "../../../Base/useBase.js";
15
+ import { componentEvents as n } from "../../../../shared/constants.js";
16
+ import { useComponentDictionary as V, useI18n as z } from "../../../../i18n/I18n.js";
17
+ import { firstLastName as J } from "../../../../helpers/formattedStrings.js";
18
+ function Te(e) {
19
+ return /* @__PURE__ */ f(j, { ...e, children: /* @__PURE__ */ f(K, { ...e, children: e.children }) });
20
+ }
21
+ const K = ({ employeeId: e, companyId: p, dictionary: P }) => {
22
+ V("Employee.Terminations.TerminateEmployee", P), z("Employee.Terminations.TerminateEmployee");
23
+ const c = S(), { onEvent: i, baseSubmitHandler: D } = Q(), {
24
+ data: { employee: E }
25
+ } = Y({ employeeId: e }), { data: a } = q({ employeeId: e });
26
+ if (E?.terminated && a.terminationList?.[0])
27
+ return i(n.EMPLOYEE_TERMINATION_VIEW_SUMMARY, {
28
+ employeeId: e,
29
+ effectiveDate: a.terminationList[0].effectiveDate,
30
+ termination: a.terminationList[0]
31
+ }), null;
32
+ const { mutateAsync: C, isPending: O } = b(), { mutateAsync: A, isPending: L } = B(), { mutateAsync: h, isPending: N } = G(), { refetch: M } = k(
33
+ { companyId: p },
34
+ { enabled: !1 }
35
+ ), _ = J({
36
+ first_name: E?.firstName,
37
+ last_name: E?.lastName
38
+ }), r = a.terminationList?.[0];
39
+ return /* @__PURE__ */ f(
40
+ H,
41
+ {
42
+ employeeName: _,
43
+ existingTermination: r,
44
+ onSubmit: async (R) => {
45
+ const { lastDayOfWork: g, payrollOption: o } = R, s = g.toISOString().split("T")[0];
46
+ await D({ effectiveDate: s, payrollOption: o }, async () => {
47
+ const m = o === "dismissalPayroll", d = r ? await A({
48
+ request: {
49
+ employeeId: e,
50
+ requestBody: {
51
+ version: r.version,
52
+ effectiveDate: s,
53
+ runTerminationPayroll: m
54
+ }
55
+ }
56
+ }) : await C({
57
+ request: {
58
+ employeeId: e,
59
+ requestBody: {
60
+ effectiveDate: s,
61
+ runTerminationPayroll: m
62
+ }
63
+ }
64
+ });
65
+ await I(c);
66
+ let T;
67
+ if (m)
68
+ try {
69
+ const { data: u } = await M(), U = u?.unprocessedTerminationPayPeriodList?.filter(
70
+ (t) => t.employeeUuid === e
71
+ ) ?? [], l = [];
72
+ for (const t of U)
73
+ if (t.startDate && t.endDate) {
74
+ const w = await h({
75
+ request: {
76
+ companyId: p,
77
+ requestBody: {
78
+ offCycle: !0,
79
+ offCycleReason: F.DismissedEmployee,
80
+ startDate: new y(t.startDate),
81
+ endDate: new y(t.endDate),
82
+ employeeUuids: [e],
83
+ checkDate: t.checkDate ? new y(t.checkDate) : void 0
84
+ }
85
+ }
86
+ });
87
+ l.push(w.payrollUnprocessed);
88
+ }
89
+ l.length > 0 && (T = l[0]?.payrollUuid, await W(c), await x(c), i(n.EMPLOYEE_TERMINATION_PAYROLL_CREATED, {
90
+ payrolls: l
91
+ }));
92
+ } catch (u) {
93
+ i(n.EMPLOYEE_TERMINATION_PAYROLL_FAILED, {
94
+ error: u,
95
+ employeeId: e
96
+ });
97
+ }
98
+ const v = r ? n.EMPLOYEE_TERMINATION_UPDATED : n.EMPLOYEE_TERMINATION_CREATED;
99
+ i(v, {
100
+ termination: d.termination,
101
+ payrollOption: o,
102
+ runTerminationPayroll: m
103
+ }), i(n.EMPLOYEE_TERMINATION_DONE, {
104
+ employeeId: e,
105
+ effectiveDate: s,
106
+ payrollOption: o,
107
+ payrollUuid: T,
108
+ termination: d.termination,
109
+ ...o === "anotherWay" && { manualHandling: !0 }
110
+ });
111
+ });
112
+ },
113
+ onCancel: () => {
114
+ i(n.CANCEL);
115
+ },
116
+ isLoading: O || L || N
117
+ }
118
+ );
119
+ };
120
+ export {
121
+ Te as TerminateEmployee
122
+ };
123
+ //# sourceMappingURL=TerminateEmployee.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminateEmployee.js","sources":["../../../../../src/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.tsx"],"sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { useEmployeesGetSuspense } from '@gusto/embedded-api/react-query/employeesGet'\nimport {\n useEmployeeEmploymentsGetTerminationsSuspense,\n invalidateAllEmployeeEmploymentsGetTerminations,\n} from '@gusto/embedded-api/react-query/employeeEmploymentsGetTerminations'\nimport { useEmployeeEmploymentsCreateTerminationMutation } from '@gusto/embedded-api/react-query/employeeEmploymentsCreateTermination'\nimport { useEmployeeEmploymentsUpdateTerminationMutation } from '@gusto/embedded-api/react-query/employeeEmploymentsUpdateTermination'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api/react-query/payrollsCreateOffCycle'\nimport {\n usePaySchedulesGetUnprocessedTerminationPeriods,\n invalidateAllPaySchedulesGetUnprocessedTerminationPeriods,\n} from '@gusto/embedded-api/react-query/paySchedulesGetUnprocessedTerminationPeriods'\nimport { invalidateAllPayrollsList } from '@gusto/embedded-api/react-query/payrollsList'\nimport { OffCycleReason } from '@gusto/embedded-api/models/operations/postv1companiescompanyidpayrolls'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport type { PayrollOption } from '../types'\nimport { TerminateEmployeePresentation } from './TerminateEmployeePresentation'\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 { firstLastName } from '@/helpers/formattedStrings'\n\nexport interface TerminateEmployeeProps extends BaseComponentInterface<'Employee.Terminations.TerminateEmployee'> {\n employeeId: string\n companyId: string\n}\n\nexport interface TerminateEmployeeFormData {\n lastDayOfWork: Date\n payrollOption: PayrollOption\n}\n\nexport function TerminateEmployee(props: TerminateEmployeeProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({ employeeId, companyId, dictionary }: TerminateEmployeeProps) => {\n useComponentDictionary('Employee.Terminations.TerminateEmployee', dictionary)\n useI18n('Employee.Terminations.TerminateEmployee')\n\n const queryClient = useQueryClient()\n const { onEvent, baseSubmitHandler } = useBase()\n\n const {\n data: { employee },\n } = useEmployeesGetSuspense({ employeeId })\n\n const { data: terminationsData } = useEmployeeEmploymentsGetTerminationsSuspense({ employeeId })\n\n // If employee is already terminated, redirect to summary with existing termination data\n // Don't pass payrollOption to avoid showing the success alert\n if (employee?.terminated && terminationsData.terminationList?.[0]) {\n onEvent(componentEvents.EMPLOYEE_TERMINATION_VIEW_SUMMARY, {\n employeeId,\n effectiveDate: terminationsData.terminationList[0].effectiveDate!,\n termination: terminationsData.terminationList[0],\n })\n return null\n }\n\n const { mutateAsync: createTermination, isPending: isCreatingTermination } =\n useEmployeeEmploymentsCreateTerminationMutation()\n\n const { mutateAsync: updateTermination, isPending: isUpdatingTermination } =\n useEmployeeEmploymentsUpdateTerminationMutation()\n\n const { mutateAsync: createOffCyclePayroll, isPending: isCreatingPayroll } =\n usePayrollsCreateOffCycleMutation()\n\n const { refetch: fetchTerminationPeriods } = usePaySchedulesGetUnprocessedTerminationPeriods(\n { companyId },\n { enabled: false },\n )\n\n const employeeName = firstLastName({\n first_name: employee?.firstName,\n last_name: employee?.lastName,\n })\n\n const existingTermination = terminationsData.terminationList?.[0]\n\n const handleSubmit = async (formData: TerminateEmployeeFormData) => {\n const { lastDayOfWork, payrollOption } = formData\n const effectiveDate = lastDayOfWork.toISOString().split('T')[0]!\n\n await baseSubmitHandler({ effectiveDate, payrollOption }, async () => {\n const runTerminationPayroll = payrollOption === 'dismissalPayroll'\n\n const result = existingTermination\n ? await updateTermination({\n request: {\n employeeId,\n requestBody: {\n version: existingTermination.version!,\n effectiveDate,\n runTerminationPayroll,\n },\n },\n })\n : await createTermination({\n request: {\n employeeId,\n requestBody: {\n effectiveDate,\n runTerminationPayroll,\n },\n },\n })\n\n await invalidateAllEmployeeEmploymentsGetTerminations(queryClient)\n\n let firstPayrollUuid: string | undefined\n\n if (runTerminationPayroll) {\n try {\n const { data: terminationPeriodsData } = await fetchTerminationPeriods()\n\n const employeePeriods =\n terminationPeriodsData?.unprocessedTerminationPayPeriodList?.filter(\n period => period.employeeUuid === employeeId,\n ) ?? []\n\n const createdPayrolls = []\n\n for (const terminationPeriod of employeePeriods) {\n if (terminationPeriod.startDate && terminationPeriod.endDate) {\n const payrollResult = await createOffCyclePayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: OffCycleReason.DismissedEmployee,\n startDate: new RFCDate(terminationPeriod.startDate),\n endDate: new RFCDate(terminationPeriod.endDate),\n employeeUuids: [employeeId],\n checkDate: terminationPeriod.checkDate\n ? new RFCDate(terminationPeriod.checkDate)\n : undefined,\n },\n },\n })\n\n createdPayrolls.push(payrollResult.payrollUnprocessed)\n }\n }\n\n if (createdPayrolls.length > 0) {\n firstPayrollUuid = createdPayrolls[0]?.payrollUuid\n\n await invalidateAllPayrollsList(queryClient)\n await invalidateAllPaySchedulesGetUnprocessedTerminationPeriods(queryClient)\n\n onEvent(componentEvents.EMPLOYEE_TERMINATION_PAYROLL_CREATED, {\n payrolls: createdPayrolls,\n })\n }\n } catch (payrollError) {\n onEvent(componentEvents.EMPLOYEE_TERMINATION_PAYROLL_FAILED, {\n error: payrollError,\n employeeId,\n })\n }\n }\n\n const eventType = existingTermination\n ? componentEvents.EMPLOYEE_TERMINATION_UPDATED\n : componentEvents.EMPLOYEE_TERMINATION_CREATED\n\n onEvent(eventType, {\n termination: result.termination,\n payrollOption,\n runTerminationPayroll,\n })\n\n onEvent(componentEvents.EMPLOYEE_TERMINATION_DONE, {\n employeeId,\n effectiveDate,\n payrollOption,\n payrollUuid: firstPayrollUuid,\n termination: result.termination,\n ...(payrollOption === 'anotherWay' && { manualHandling: true }),\n })\n })\n }\n\n const handleCancel = () => {\n onEvent(componentEvents.CANCEL)\n }\n\n const isPending = isCreatingTermination || isUpdatingTermination || isCreatingPayroll\n\n return (\n <TerminateEmployeePresentation\n employeeName={employeeName}\n existingTermination={existingTermination}\n onSubmit={handleSubmit}\n onCancel={handleCancel}\n isLoading={isPending}\n />\n )\n}\n"],"names":["TerminateEmployee","props","jsx","BaseComponent","Root","employeeId","companyId","dictionary","useComponentDictionary","useI18n","queryClient","useQueryClient","onEvent","baseSubmitHandler","useBase","employee","useEmployeesGetSuspense","terminationsData","useEmployeeEmploymentsGetTerminationsSuspense","componentEvents","createTermination","isCreatingTermination","useEmployeeEmploymentsCreateTerminationMutation","updateTermination","isUpdatingTermination","useEmployeeEmploymentsUpdateTerminationMutation","createOffCyclePayroll","isCreatingPayroll","usePayrollsCreateOffCycleMutation","fetchTerminationPeriods","usePaySchedulesGetUnprocessedTerminationPeriods","employeeName","firstLastName","existingTermination","TerminateEmployeePresentation","formData","lastDayOfWork","payrollOption","effectiveDate","runTerminationPayroll","result","invalidateAllEmployeeEmploymentsGetTerminations","firstPayrollUuid","terminationPeriodsData","employeePeriods","period","createdPayrolls","terminationPeriod","payrollResult","OffCycleReason","RFCDate","invalidateAllPayrollsList","invalidateAllPaySchedulesGetUnprocessedTerminationPeriods","payrollError","eventType"],"mappings":";;;;;;;;;;;;;;;;;AAmCO,SAASA,GAAkBC,GAA+B;AAC/D,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,YAAAC,GAAY,WAAAC,GAAW,YAAAC,QAAyC;AAC9E,EAAAC,EAAuB,2CAA2CD,CAAU,GAC5EE,EAAQ,yCAAyC;AAEjD,QAAMC,IAAcC,EAAA,GACd,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC;AAAA,IACJ,MAAM,EAAE,UAAAC,EAAA;AAAA,EAAS,IACfC,EAAwB,EAAE,YAAAX,GAAY,GAEpC,EAAE,MAAMY,EAAA,IAAqBC,EAA8C,EAAE,YAAAb,GAAY;AAI/F,MAAIU,GAAU,cAAcE,EAAiB,kBAAkB,CAAC;AAC9D,WAAAL,EAAQO,EAAgB,mCAAmC;AAAA,MACzD,YAAAd;AAAA,MACA,eAAeY,EAAiB,gBAAgB,CAAC,EAAE;AAAA,MACnD,aAAaA,EAAiB,gBAAgB,CAAC;AAAA,IAAA,CAChD,GACM;AAGT,QAAM,EAAE,aAAaG,GAAmB,WAAWC,EAAA,IACjDC,EAAA,GAEI,EAAE,aAAaC,GAAmB,WAAWC,EAAA,IACjDC,EAAA,GAEI,EAAE,aAAaC,GAAuB,WAAWC,EAAA,IACrDC,EAAA,GAEI,EAAE,SAASC,EAAA,IAA4BC;AAAA,IAC3C,EAAE,WAAAxB,EAAA;AAAA,IACF,EAAE,SAAS,GAAA;AAAA,EAAM,GAGbyB,IAAeC,EAAc;AAAA,IACjC,YAAYjB,GAAU;AAAA,IACtB,WAAWA,GAAU;AAAA,EAAA,CACtB,GAEKkB,IAAsBhB,EAAiB,kBAAkB,CAAC;AAgHhE,SACE,gBAAAf;AAAA,IAACgC;AAAA,IAAA;AAAA,MACC,cAAAH;AAAA,MACA,qBAAAE;AAAA,MACA,UAlHiB,OAAOE,MAAwC;AAClE,cAAM,EAAE,eAAAC,GAAe,eAAAC,EAAA,IAAkBF,GACnCG,IAAgBF,EAAc,YAAA,EAAc,MAAM,GAAG,EAAE,CAAC;AAE9D,cAAMvB,EAAkB,EAAE,eAAAyB,GAAe,eAAAD,EAAA,GAAiB,YAAY;AACpE,gBAAME,IAAwBF,MAAkB,oBAE1CG,IAASP,IACX,MAAMV,EAAkB;AAAA,YACtB,SAAS;AAAA,cACP,YAAAlB;AAAA,cACA,aAAa;AAAA,gBACX,SAAS4B,EAAoB;AAAA,gBAC7B,eAAAK;AAAA,gBACA,uBAAAC;AAAA,cAAA;AAAA,YACF;AAAA,UACF,CACD,IACD,MAAMnB,EAAkB;AAAA,YACtB,SAAS;AAAA,cACP,YAAAf;AAAA,cACA,aAAa;AAAA,gBACX,eAAAiC;AAAA,gBACA,uBAAAC;AAAA,cAAA;AAAA,YACF;AAAA,UACF,CACD;AAEL,gBAAME,EAAgD/B,CAAW;AAEjE,cAAIgC;AAEJ,cAAIH;AACF,gBAAI;AACF,oBAAM,EAAE,MAAMI,EAAA,IAA2B,MAAMd,EAAA,GAEzCe,IACJD,GAAwB,qCAAqC;AAAA,gBAC3D,CAAAE,MAAUA,EAAO,iBAAiBxC;AAAA,cAAA,KAC/B,CAAA,GAEDyC,IAAkB,CAAA;AAExB,yBAAWC,KAAqBH;AAC9B,oBAAIG,EAAkB,aAAaA,EAAkB,SAAS;AAC5D,wBAAMC,IAAgB,MAAMtB,EAAsB;AAAA,oBAChD,SAAS;AAAA,sBACP,WAAApB;AAAA,sBACA,aAAa;AAAA,wBACX,UAAU;AAAA,wBACV,gBAAgB2C,EAAe;AAAA,wBAC/B,WAAW,IAAIC,EAAQH,EAAkB,SAAS;AAAA,wBAClD,SAAS,IAAIG,EAAQH,EAAkB,OAAO;AAAA,wBAC9C,eAAe,CAAC1C,CAAU;AAAA,wBAC1B,WAAW0C,EAAkB,YACzB,IAAIG,EAAQH,EAAkB,SAAS,IACvC;AAAA,sBAAA;AAAA,oBACN;AAAA,kBACF,CACD;AAED,kBAAAD,EAAgB,KAAKE,EAAc,kBAAkB;AAAA,gBACvD;AAGF,cAAIF,EAAgB,SAAS,MAC3BJ,IAAmBI,EAAgB,CAAC,GAAG,aAEvC,MAAMK,EAA0BzC,CAAW,GAC3C,MAAM0C,EAA0D1C,CAAW,GAE3EE,EAAQO,EAAgB,sCAAsC;AAAA,gBAC5D,UAAU2B;AAAA,cAAA,CACX;AAAA,YAEL,SAASO,GAAc;AACrB,cAAAzC,EAAQO,EAAgB,qCAAqC;AAAA,gBAC3D,OAAOkC;AAAA,gBACP,YAAAhD;AAAA,cAAA,CACD;AAAA,YACH;AAGF,gBAAMiD,IAAYrB,IACdd,EAAgB,+BAChBA,EAAgB;AAEpB,UAAAP,EAAQ0C,GAAW;AAAA,YACjB,aAAad,EAAO;AAAA,YACpB,eAAAH;AAAA,YACA,uBAAAE;AAAA,UAAA,CACD,GAED3B,EAAQO,EAAgB,2BAA2B;AAAA,YACjD,YAAAd;AAAA,YACA,eAAAiC;AAAA,YACA,eAAAD;AAAA,YACA,aAAaK;AAAA,YACb,aAAaF,EAAO;AAAA,YACpB,GAAIH,MAAkB,gBAAgB,EAAE,gBAAgB,GAAA;AAAA,UAAK,CAC9D;AAAA,QACH,CAAC;AAAA,MACH;AAAA,MAaI,UAXiB,MAAM;AACzB,QAAAzB,EAAQO,EAAgB,MAAM;AAAA,MAChC;AAAA,MAUI,WARcE,KAAyBG,KAAyBG;AAAA,IAQrD;AAAA,EAAA;AAGjB;"}
@@ -0,0 +1,11 @@
1
+ import { Termination } from '@gusto/embedded-api/models/components/termination';
2
+ import { TerminateEmployeeFormData } from './TerminateEmployee';
3
+ interface TerminateEmployeePresentationProps {
4
+ employeeName: string;
5
+ existingTermination?: Termination;
6
+ onSubmit: (data: TerminateEmployeeFormData) => void;
7
+ onCancel: () => void;
8
+ isLoading: boolean;
9
+ }
10
+ export declare function TerminateEmployeePresentation({ employeeName, existingTermination, onSubmit, onCancel, isLoading, }: TerminateEmployeePresentationProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,92 @@
1
+ import { jsx as r, jsxs as e } from "react/jsx-runtime";
2
+ import { useTranslation as v } from "react-i18next";
3
+ import t from "zod";
4
+ import { useForm as D, FormProvider as g } from "react-hook-form";
5
+ import { zodResolver as E } from "@hookform/resolvers/zod";
6
+ import { Flex as a } from "../../../Common/Flex/Flex.js";
7
+ import "classnames";
8
+ import "../../../../shared/constants.js";
9
+ import { RadioGroupField as R } from "../../../Common/Fields/RadioGroupField/RadioGroupField.js";
10
+ import { ActionsLayout as x } from "../../../Common/ActionsLayout/ActionsLayout.js";
11
+ import { DatePickerField as F } from "../../../Common/Fields/DatePickerField/DatePickerField.js";
12
+ import { useComponentContext as W } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
13
+ import "react";
14
+ import { Form as q } from "../../../Common/Form/Form.js";
15
+ import { useI18n as T } from "../../../../i18n/I18n.js";
16
+ const k = t.object({
17
+ lastDayOfWork: t.date({ error: "validation.lastDayRequired" }),
18
+ payrollOption: t.enum(["dismissalPayroll", "regularPayroll", "anotherWay"], {
19
+ error: "validation.payrollOptionRequired"
20
+ })
21
+ });
22
+ function L({
23
+ employeeName: n,
24
+ existingTermination: l,
25
+ onSubmit: d,
26
+ onCancel: y,
27
+ isLoading: s
28
+ }) {
29
+ const { Alert: u, Heading: f, Text: p, Button: m } = W();
30
+ T("Employee.Terminations.TerminateEmployee");
31
+ const { t: o } = v("Employee.Terminations.TerminateEmployee"), O = (P) => P.runTerminationPayroll === !0 ? "dismissalPayroll" : "regularPayroll", h = {
32
+ lastDayOfWork: l?.effectiveDate ? new Date(l.effectiveDate) : void 0,
33
+ payrollOption: l ? O(l) : "dismissalPayroll"
34
+ }, i = D({
35
+ resolver: E(k),
36
+ defaultValues: h
37
+ }), c = i.watch("payrollOption"), b = [
38
+ {
39
+ value: "dismissalPayroll",
40
+ label: o("form.payrollOption.options.dismissalPayroll.label"),
41
+ description: o("form.payrollOption.options.dismissalPayroll.description")
42
+ },
43
+ {
44
+ value: "regularPayroll",
45
+ label: o("form.payrollOption.options.regularPayroll.label"),
46
+ description: o("form.payrollOption.options.regularPayroll.description")
47
+ },
48
+ {
49
+ value: "anotherWay",
50
+ label: o("form.payrollOption.options.anotherWay.label"),
51
+ description: o("form.payrollOption.options.anotherWay.description")
52
+ }
53
+ ];
54
+ return /* @__PURE__ */ r(g, { ...i, children: /* @__PURE__ */ r(q, { onSubmit: i.handleSubmit(d), children: /* @__PURE__ */ e(a, { flexDirection: "column", gap: 24, children: [
55
+ /* @__PURE__ */ e(a, { flexDirection: "column", gap: 4, children: [
56
+ /* @__PURE__ */ r(f, { as: "h2", children: o("title", { employeeName: n }) }),
57
+ /* @__PURE__ */ r(p, { variant: "supporting", children: o("subtitle") })
58
+ ] }),
59
+ /* @__PURE__ */ e(a, { flexDirection: "column", gap: 24, children: [
60
+ /* @__PURE__ */ r(
61
+ F,
62
+ {
63
+ name: "lastDayOfWork",
64
+ label: o("form.lastDayOfEmployment.label"),
65
+ description: o("form.lastDayOfEmployment.description"),
66
+ isRequired: !0,
67
+ errorMessage: o("validation.lastDayRequired")
68
+ }
69
+ ),
70
+ /* @__PURE__ */ r(
71
+ R,
72
+ {
73
+ name: "payrollOption",
74
+ label: o("form.payrollOption.label"),
75
+ description: o("form.payrollOption.description"),
76
+ options: b,
77
+ isRequired: !0,
78
+ errorMessage: o("validation.payrollOptionRequired")
79
+ }
80
+ ),
81
+ /* @__PURE__ */ r(u, { status: "warning", label: o(`alert.${c}.label`), children: /* @__PURE__ */ r(p, { children: o(`alert.${c}.text`, { employeeName: n }) }) })
82
+ ] }),
83
+ /* @__PURE__ */ e(x, { children: [
84
+ /* @__PURE__ */ r(m, { variant: "secondary", onClick: y, isDisabled: s, children: o("actions.cancel") }),
85
+ /* @__PURE__ */ r(m, { type: "submit", variant: "primary", isLoading: s, children: o("actions.submit") })
86
+ ] })
87
+ ] }) }) });
88
+ }
89
+ export {
90
+ L as TerminateEmployeePresentation
91
+ };
92
+ //# sourceMappingURL=TerminateEmployeePresentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminateEmployeePresentation.js","sources":["../../../../../src/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport z from 'zod'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { Termination } from '@gusto/embedded-api/models/components/termination'\nimport type { PayrollOption } from '../types'\nimport type { TerminateEmployeeFormData } from './TerminateEmployee'\nimport { Flex, ActionsLayout, DatePickerField, RadioGroupField } from '@/components/Common'\nimport { Form as HtmlForm } from '@/components/Common/Form'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\ninterface TerminateEmployeePresentationProps {\n employeeName: string\n existingTermination?: Termination\n onSubmit: (data: TerminateEmployeeFormData) => void\n onCancel: () => void\n isLoading: boolean\n}\n\nconst terminateEmployeeSchema = z.object({\n lastDayOfWork: z.date({ error: 'validation.lastDayRequired' }),\n payrollOption: z.enum(['dismissalPayroll', 'regularPayroll', 'anotherWay'], {\n error: 'validation.payrollOptionRequired',\n }),\n})\n\nexport function TerminateEmployeePresentation({\n employeeName,\n existingTermination,\n onSubmit,\n onCancel,\n isLoading,\n}: TerminateEmployeePresentationProps) {\n const { Alert, Heading, Text, Button } = useComponentContext()\n useI18n('Employee.Terminations.TerminateEmployee')\n const { t } = useTranslation('Employee.Terminations.TerminateEmployee')\n\n const getPayrollOptionFromTermination = (termination: Termination): PayrollOption => {\n if (termination.runTerminationPayroll === true) {\n return 'dismissalPayroll'\n }\n return 'regularPayroll'\n }\n\n const initialValues: Partial<TerminateEmployeeFormData> = {\n lastDayOfWork: existingTermination?.effectiveDate\n ? new Date(existingTermination.effectiveDate)\n : undefined,\n payrollOption: existingTermination\n ? getPayrollOptionFromTermination(existingTermination)\n : 'dismissalPayroll',\n }\n const formMethods = useForm<TerminateEmployeeFormData>({\n resolver: zodResolver(terminateEmployeeSchema),\n defaultValues: initialValues,\n })\n\n const selectedPayrollOption = formMethods.watch('payrollOption')\n\n const payrollOptions = [\n {\n value: 'dismissalPayroll' as const,\n label: t('form.payrollOption.options.dismissalPayroll.label'),\n description: t('form.payrollOption.options.dismissalPayroll.description'),\n },\n {\n value: 'regularPayroll' as const,\n label: t('form.payrollOption.options.regularPayroll.label'),\n description: t('form.payrollOption.options.regularPayroll.description'),\n },\n {\n value: 'anotherWay' as const,\n label: t('form.payrollOption.options.anotherWay.label'),\n description: t('form.payrollOption.options.anotherWay.description'),\n },\n ]\n\n return (\n <FormProvider {...formMethods}>\n <HtmlForm onSubmit={formMethods.handleSubmit(onSubmit)}>\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title', { employeeName })}</Heading>\n <Text variant=\"supporting\">{t('subtitle')}</Text>\n </Flex>\n\n <Flex flexDirection=\"column\" gap={24}>\n <DatePickerField\n name=\"lastDayOfWork\"\n label={t('form.lastDayOfEmployment.label')}\n description={t('form.lastDayOfEmployment.description')}\n isRequired\n errorMessage={t('validation.lastDayRequired')}\n />\n\n <RadioGroupField<PayrollOption>\n name=\"payrollOption\"\n label={t('form.payrollOption.label')}\n description={t('form.payrollOption.description')}\n options={payrollOptions}\n isRequired\n errorMessage={t('validation.payrollOptionRequired')}\n />\n <Alert status=\"warning\" label={t(`alert.${selectedPayrollOption}.label`)}>\n <Text>{t(`alert.${selectedPayrollOption}.text`, { employeeName })}</Text>\n </Alert>\n </Flex>\n\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel} isDisabled={isLoading}>\n {t('actions.cancel')}\n </Button>\n <Button type=\"submit\" variant=\"primary\" isLoading={isLoading}>\n {t('actions.submit')}\n </Button>\n </ActionsLayout>\n </Flex>\n </HtmlForm>\n </FormProvider>\n )\n}\n"],"names":["terminateEmployeeSchema","z","TerminateEmployeePresentation","employeeName","existingTermination","onSubmit","onCancel","isLoading","Alert","Heading","Text","Button","useComponentContext","useI18n","t","useTranslation","getPayrollOptionFromTermination","termination","initialValues","formMethods","useForm","zodResolver","selectedPayrollOption","payrollOptions","FormProvider","jsx","HtmlForm","jsxs","Flex","DatePickerField","RadioGroupField","ActionsLayout"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TerminationFlowProps } from './TerminationFlowComponents';
2
+ export declare const TerminationFlow: ({ companyId, employeeId, onEvent }: TerminationFlowProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,30 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { createMachine as n } from "robot3";
3
+ import { useMemo as a } from "react";
4
+ import { terminationMachine as c, terminationBreadcrumbNodes as p } from "./terminationStateMachine.js";
5
+ import { TerminateEmployeeContextual as s } from "./TerminationFlowComponents.js";
6
+ import { Flow as u } from "../../../Flow/Flow.js";
7
+ import { buildBreadcrumbs as f } from "../../../../helpers/breadcrumbHelpers.js";
8
+ const F = ({ companyId: r, employeeId: o, onEvent: m }) => {
9
+ const e = a(
10
+ () => n(
11
+ "form",
12
+ c,
13
+ (t) => ({
14
+ ...t,
15
+ component: s,
16
+ companyId: r,
17
+ employeeId: o,
18
+ breadcrumbs: f(p),
19
+ currentBreadcrumbId: "form",
20
+ progressBarType: "breadcrumbs"
21
+ })
22
+ ),
23
+ [r, o]
24
+ );
25
+ return /* @__PURE__ */ i(u, { machine: e, onEvent: m });
26
+ };
27
+ export {
28
+ F as TerminationFlow
29
+ };
30
+ //# sourceMappingURL=TerminationFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TerminationFlow.js","sources":["../../../../../src/components/Employee/Terminations/TerminationFlow/TerminationFlow.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMemo } from 'react'\nimport { terminationMachine, terminationBreadcrumbNodes } from './terminationStateMachine'\nimport type {\n TerminationFlowProps,\n TerminationFlowContextInterface,\n} from './TerminationFlowComponents'\nimport { TerminateEmployeeContextual } from './TerminationFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\nexport const TerminationFlow = ({ companyId, employeeId, onEvent }: TerminationFlowProps) => {\n const terminationFlow = useMemo(\n () =>\n createMachine(\n 'form',\n terminationMachine,\n (initialContext: TerminationFlowContextInterface) => ({\n ...initialContext,\n component: TerminateEmployeeContextual,\n companyId,\n employeeId,\n breadcrumbs: buildBreadcrumbs(terminationBreadcrumbNodes),\n currentBreadcrumbId: 'form',\n progressBarType: 'breadcrumbs' as const,\n }),\n ),\n [companyId, employeeId],\n )\n return <Flow machine={terminationFlow} onEvent={onEvent} />\n}\n"],"names":["TerminationFlow","companyId","employeeId","onEvent","terminationFlow","useMemo","createMachine","terminationMachine","initialContext","TerminateEmployeeContextual","buildBreadcrumbs","terminationBreadcrumbNodes","jsx","Flow"],"mappings":";;;;;;;AAWO,MAAMA,IAAkB,CAAC,EAAE,WAAAC,GAAW,YAAAC,GAAY,SAAAC,QAAoC;AAC3F,QAAMC,IAAkBC;AAAA,IACtB,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAqD;AAAA,QACpD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAR;AAAA,QACA,YAAAC;AAAA,QACA,aAAaQ,EAAiBC,CAA0B;AAAA,QACxD,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,MAAA;AAAA,IACnB;AAAA,IAEJ,CAACV,GAAWC,CAAU;AAAA,EAAA;AAExB,SAAO,gBAAAU,EAACC,GAAA,EAAK,SAAST,GAAiB,SAAAD,EAAA,CAAkB;AAC3D;"}