@gusto/embedded-react-sdk 0.54.1-rc.1 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +3 -3
  3. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +5 -6
  4. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
  5. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -5
  6. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  7. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -5
  8. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  9. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -7
  10. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  11. package/dist/components/Company/BankAccount/BankAccount.js +9 -9
  12. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  13. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -5
  14. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  15. package/dist/components/Company/BankAccount/stateMachine.d.ts +3 -3
  16. package/dist/components/Company/BankAccount/stateMachine.js +6 -7
  17. package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
  18. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  19. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  20. package/dist/components/Company/DocumentSigner/DocumentSigner.js +10 -10
  21. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  22. package/dist/components/Company/DocumentSigner/assignSignatoryState.d.ts +1 -1
  23. package/dist/components/Company/DocumentSigner/assignSignatoryState.js +12 -13
  24. package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
  25. package/dist/components/Company/DocumentSigner/stateMachine.d.ts +4 -4
  26. package/dist/components/Company/DocumentSigner/stateMachine.js +13 -14
  27. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  28. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -10
  29. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  30. package/dist/components/Company/Industry/Context.js +7 -8
  31. package/dist/components/Company/Industry/Context.js.map +1 -1
  32. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -5
  33. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  34. package/dist/components/Company/Locations/Locations.js +8 -8
  35. package/dist/components/Company/Locations/Locations.js.map +1 -1
  36. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -5
  37. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  38. package/dist/components/Company/Locations/stateMachine.d.ts +3 -3
  39. package/dist/components/Company/Locations/stateMachine.js +2 -3
  40. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  41. package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +1 -1
  42. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js +23 -17
  43. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  44. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +8 -0
  45. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +12 -5
  46. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  47. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.d.ts +10 -10
  48. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js +10 -11
  49. package/dist/components/Company/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  50. package/dist/components/Company/OnboardingOverview/context.js +4 -5
  51. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  52. package/dist/components/Company/PaySchedule/PaySchedule.js +7 -7
  53. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  54. package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +3 -3
  55. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +3 -4
  56. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  57. package/dist/components/Company/StateTaxes/StateTaxes.js +8 -8
  58. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  59. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -5
  60. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  61. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -5
  62. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  63. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +4 -5
  64. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -1
  65. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +3 -3
  66. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +12 -13
  67. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  68. package/dist/components/Contractor/Address/management/Address.js +7 -7
  69. package/dist/components/Contractor/Address/management/Address.js.map +1 -1
  70. package/dist/components/Contractor/Address/management/addressStateMachine.d.ts +2 -2
  71. package/dist/components/Contractor/Address/management/addressStateMachine.js +13 -14
  72. package/dist/components/Contractor/Address/management/addressStateMachine.js.map +1 -1
  73. package/dist/components/Contractor/Compensation/management/Compensation.js +7 -7
  74. package/dist/components/Contractor/Compensation/management/Compensation.js.map +1 -1
  75. package/dist/components/Contractor/Compensation/management/compensationStateMachine.d.ts +2 -2
  76. package/dist/components/Contractor/Compensation/management/compensationStateMachine.js +3 -4
  77. package/dist/components/Contractor/Compensation/management/compensationStateMachine.js.map +1 -1
  78. package/dist/components/Contractor/Dashboard/DashboardFlow.js +8 -8
  79. package/dist/components/Contractor/Dashboard/DashboardFlow.js.map +1 -1
  80. package/dist/components/Contractor/Dashboard/dashboardStateMachine.d.ts +5 -5
  81. package/dist/components/Contractor/Dashboard/dashboardStateMachine.js +6 -7
  82. package/dist/components/Contractor/Dashboard/dashboardStateMachine.js.map +1 -1
  83. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.js +8 -8
  84. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  85. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.d.ts +2 -2
  86. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.js +12 -13
  87. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -1
  88. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js +8 -8
  89. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  90. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.d.ts +7 -7
  91. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +7 -8
  92. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  93. package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.js +7 -7
  94. package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.js.map +1 -1
  95. package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.d.ts +2 -2
  96. package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js +13 -14
  97. package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
  98. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js +9 -9
  99. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js.map +1 -1
  100. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.d.ts +2 -2
  101. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js +8 -9
  102. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js.map +1 -1
  103. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +8 -8
  104. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  105. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +4 -4
  106. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +9 -10
  107. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  108. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js +8 -8
  109. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js.map +1 -1
  110. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.d.ts +2 -2
  111. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js +14 -15
  112. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js.map +1 -1
  113. package/dist/components/Contractor/Profile/management/Profile.js +7 -7
  114. package/dist/components/Contractor/Profile/management/Profile.js.map +1 -1
  115. package/dist/components/Contractor/Profile/management/profileStateMachine.d.ts +2 -2
  116. package/dist/components/Contractor/Profile/management/profileStateMachine.js +10 -11
  117. package/dist/components/Contractor/Profile/management/profileStateMachine.js.map +1 -1
  118. package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingFlow.js +8 -8
  119. package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  120. package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.d.ts +5 -5
  121. package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.js +6 -7
  122. package/dist/components/Contractor/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  123. package/dist/components/Employee/Compensation/management/Compensation.js +7 -7
  124. package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
  125. package/dist/components/Employee/Compensation/management/CompensationComponents.js +4 -4
  126. package/dist/components/Employee/Compensation/management/compensationStateMachine.d.ts +4 -4
  127. package/dist/components/Employee/Compensation/management/compensationStateMachine.js +20 -21
  128. package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
  129. package/dist/components/Employee/Compensation/onboarding/Compensation.js +11 -11
  130. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  131. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.d.ts +4 -4
  132. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +10 -11
  133. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
  134. package/dist/components/Employee/Dashboard/DashboardFlow.js +8 -8
  135. package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
  136. package/dist/components/Employee/Dashboard/dashboardStateMachine.d.ts +13 -13
  137. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +14 -15
  138. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  139. package/dist/components/Employee/Deductions/management/Deductions.js +7 -7
  140. package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
  141. package/dist/components/Employee/Deductions/management/deductionsStateMachine.d.ts +2 -2
  142. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +8 -9
  143. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
  144. package/dist/components/Employee/Deductions/onboarding/Deductions.js +7 -7
  145. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  146. package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +3 -3
  147. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +8 -9
  148. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  149. package/dist/components/Employee/Documents/management/Documents.js +7 -7
  150. package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
  151. package/dist/components/Employee/Documents/management/documentsStateMachine.d.ts +2 -2
  152. package/dist/components/Employee/Documents/management/documentsStateMachine.js +3 -4
  153. package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
  154. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +4 -5
  155. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  156. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js +10 -10
  157. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  158. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.d.ts +4 -4
  159. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js +12 -13
  160. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -1
  161. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js +8 -8
  162. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  163. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.d.ts +4 -4
  164. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +7 -8
  165. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  166. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +7 -7
  167. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
  168. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.d.ts +2 -2
  169. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +3 -4
  170. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
  171. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +7 -7
  172. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  173. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.d.ts +2 -2
  174. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +5 -6
  175. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
  176. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js +6 -6
  177. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
  178. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +8 -8
  179. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +19 -20
  180. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  181. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +8 -8
  182. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  183. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.d.ts +3 -3
  184. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +3 -4
  185. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  186. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +7 -7
  187. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
  188. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.d.ts +3 -3
  189. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +8 -9
  190. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
  191. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +8 -8
  192. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  193. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.d.ts +3 -3
  194. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +6 -7
  195. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
  196. package/dist/components/Employee/Profile/management/Profile.js +7 -7
  197. package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
  198. package/dist/components/Employee/Profile/management/profileStateMachine.d.ts +2 -2
  199. package/dist/components/Employee/Profile/management/profileStateMachine.js +11 -12
  200. package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
  201. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js +8 -8
  202. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  203. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.d.ts +6 -6
  204. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +20 -21
  205. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  206. package/dist/components/Employee/StateTaxes/management/StateTaxes.js +7 -7
  207. package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
  208. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.d.ts +2 -2
  209. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +3 -4
  210. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
  211. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js +9 -9
  212. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  213. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.d.ts +4 -4
  214. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +6 -7
  215. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  216. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +7 -7
  217. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  218. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.d.ts +2 -2
  219. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +1 -2
  220. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
  221. package/dist/components/Flow/Flow.d.ts +7 -6
  222. package/dist/components/Flow/Flow.js +22 -21
  223. package/dist/components/Flow/Flow.js.map +1 -1
  224. package/dist/components/InformationRequests/InformationRequests.js +19 -19
  225. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  226. package/dist/components/InformationRequests/informationRequestsStateMachine.d.ts +3 -3
  227. package/dist/components/InformationRequests/informationRequestsStateMachine.js +9 -10
  228. package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
  229. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +18 -18
  230. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  231. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +4 -4
  232. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +3 -4
  233. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  234. package/dist/components/Payroll/Dismissal/DismissalFlow.js +7 -7
  235. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  236. package/dist/components/Payroll/Dismissal/dismissalStateMachine.d.ts +2 -2
  237. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js +9 -10
  238. package/dist/components/Payroll/Dismissal/dismissalStateMachine.js.map +1 -1
  239. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +3 -2
  240. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  241. package/dist/components/Payroll/OffCycle/OffCycleFlow.js +7 -7
  242. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  243. package/dist/components/Payroll/OffCycle/offCycleStateMachine.d.ts +2 -2
  244. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js +14 -15
  245. package/dist/components/Payroll/OffCycle/offCycleStateMachine.js.map +1 -1
  246. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +9 -9
  247. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  248. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.d.ts +5 -5
  249. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +11 -12
  250. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  251. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js +10 -10
  252. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  253. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +7 -7
  254. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +14 -15
  255. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  256. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +7 -7
  257. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  258. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +3 -3
  259. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +12 -13
  260. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  261. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +12 -12
  262. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  263. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.d.ts +3 -3
  264. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +5 -6
  265. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
  266. package/dist/components/Payroll/Transition/TransitionFlow.js +7 -7
  267. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  268. package/dist/components/Payroll/Transition/transitionStateMachine.d.ts +2 -2
  269. package/dist/components/Payroll/Transition/transitionStateMachine.js +14 -15
  270. package/dist/components/Payroll/Transition/transitionStateMachine.js.map +1 -1
  271. package/dist/components/Payroll/usePreparedPayrollData.js +3 -4
  272. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  273. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js +8 -8
  274. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
  275. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.d.ts +14 -14
  276. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +4 -5
  277. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  278. package/dist/shared/constants.js +1 -0
  279. package/dist/shared/constants.js.map +1 -1
  280. package/dist/types/Helpers.d.ts +3 -1
  281. package/package.json +4 -2
  282. package/dist/lib/state-machine/__tests__/core.test.d.ts +0 -1
  283. package/dist/lib/state-machine/core.d.ts +0 -20
  284. package/dist/lib/state-machine/core.js +0 -48
  285. package/dist/lib/state-machine/core.js.map +0 -1
  286. package/dist/lib/state-machine/index.d.ts +0 -5
  287. package/dist/lib/state-machine/index.js +0 -39
  288. package/dist/lib/state-machine/index.js.map +0 -1
  289. package/dist/lib/state-machine/types.d.ts +0 -60
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmWireDetails.js","sources":["../../../../src/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.tsx"],"sourcesContent":["import { Suspense, useMemo, useRef, useState } from 'react'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { ConfirmWireDetailsBanner } from './ConfirmWireDetailsBanner'\nimport { confirmWireDetailsMachine } from './confirmWireDetailsStateMachine'\nimport { type ConfirmWireDetailsContextInterface } from './ConfirmWireDetailsComponents'\nimport type { ConfirmWireDetailsProps } from './types'\nexport type { ConfirmWireDetailsComponentType } from './types'\nimport styles from './ConfirmWireDetails.module.scss'\nimport { BaseComponent, BaseBoundaries } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { FlowContext } from '@/components/Flow/useFlow'\nimport { createMachine, useMachine } from '@/lib/state-machine'\nimport { payrollWireEvents, type EventType } from '@/shared/constants'\n\n/**\n * Wire transfer confirmation workflow for payroll funding.\n *\n * Displays a banner when wire transfers are awaiting funds and walks the user\n * through viewing wire instructions and confirming transfer details via a modal.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `payroll/wire/startTransfer` | User initiates the wire transfer flow | — |\n * | `payroll/wire/instructions/select` | User selects a wire-in request from the instructions screen | `{ selectedWireInId: string }` |\n * | `payroll/wire/instructions/done` | User completes viewing wire instructions | `{ selectedWireInId: string }` |\n * | `payroll/wire/instructions/cancel` | User cancels viewing wire instructions | — |\n * | `payroll/wire/form/done` | User completes the wire confirmation form | `{ wireInRequest: WireInRequest }` |\n * | `payroll/wire/form/cancel` | User cancels the wire confirmation form | — |\n *\n * @param props - {@link ConfirmWireDetailsProps}\n * @returns The wire confirmation banner and modal flow.\n * @public\n *\n * @example\n * ```tsx\n * import { Payroll } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <Payroll.ConfirmWireDetails\n * companyId=\"your-company-id\"\n * wireInId=\"your-wire-in-id\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function ConfirmWireDetails({ onEvent, ...props }: ConfirmWireDetailsProps) {\n return (\n <BaseComponent {...props} onEvent={onEvent}>\n <Root {...props} onEvent={onEvent} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, wireInId, onEvent }: ConfirmWireDetailsProps) {\n const { Modal, LoadingSpinner } = useComponentContext()\n const [isModalOpen, setIsModalOpen] = useState(false)\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const activeWireInRequests = (wireInRequestsData.wireInRequestList || []).filter(\n r => r.status === 'awaiting_funds',\n )\n\n const selectedWireInId = useMemo(() => {\n if (wireInId) {\n return wireInId\n }\n\n return activeWireInRequests[0]?.uuid\n }, [wireInId, activeWireInRequests[0]?.uuid])\n\n const confirmWireDetailsMachineInstance = useMemo(\n () =>\n createMachine(\n 'banner',\n confirmWireDetailsMachine,\n (): ConfirmWireDetailsContextInterface => ({\n component: null,\n companyId,\n wireInId,\n selectedWireInId,\n onEvent: handleEvent,\n modalContainerRef,\n }),\n ),\n [companyId, wireInId],\n )\n const [current, send] = useMachine(confirmWireDetailsMachineInstance)\n\n function handleEvent(type: EventType, data?: unknown) {\n send({ type, payload: data })\n\n if (type === payrollWireEvents.PAYROLL_WIRE_START_TRANSFER) {\n setIsModalOpen(true)\n }\n\n if (\n type === payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_CANCEL ||\n type === payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL ||\n type === payrollWireEvents.PAYROLL_WIRE_FORM_DONE\n ) {\n setIsModalOpen(false)\n }\n\n onEvent(type, data)\n }\n\n const handleStartWireTransfer = () => {\n handleEvent(payrollWireEvents.PAYROLL_WIRE_START_TRANSFER)\n }\n\n const handleCloseModal = () => {\n setIsModalOpen(false)\n }\n\n const CurrentComponent = current.context.component\n const Footer = CurrentComponent?.Footer || undefined\n\n return (\n <FlowContext.Provider\n value={{\n ...current.context,\n onEvent: handleEvent,\n }}\n >\n <ConfirmWireDetailsBanner\n companyId={companyId}\n wireInId={wireInId}\n onStartWireTransfer={handleStartWireTransfer}\n onEvent={onEvent}\n confirmationAlert={current.context.confirmationAlert}\n />\n <Modal\n isOpen={isModalOpen}\n onClose={handleCloseModal}\n containerRef={modalContainerRef}\n footer={\n Footer && (\n <BaseBoundaries>\n <Suspense\n fallback={\n <div className={styles.footer}>\n <LoadingSpinner size=\"sm\" />\n </div>\n }\n >\n <Footer onEvent={handleEvent} />\n </Suspense>\n </BaseBoundaries>\n )\n }\n >\n {CurrentComponent && <CurrentComponent />}\n </Modal>\n </FlowContext.Provider>\n )\n}\n"],"names":["ConfirmWireDetails","onEvent","props","jsx","BaseComponent","Root","companyId","wireInId","Modal","LoadingSpinner","useComponentContext","isModalOpen","setIsModalOpen","useState","modalContainerRef","useRef","wireInRequestsData","useWireInRequestsListSuspense","activeWireInRequests","r","selectedWireInId","useMemo","confirmWireDetailsMachineInstance","createMachine","confirmWireDetailsMachine","handleEvent","current","send","useMachine","type","data","payrollWireEvents","handleStartWireTransfer","handleCloseModal","CurrentComponent","Footer","jsxs","FlowContext","ConfirmWireDetailsBanner","BaseBoundaries","Suspense","styles"],"mappings":";;;;;;;;;;;;;AAiDO,SAASA,EAAmB,EAAE,SAAAC,GAAS,GAAGC,KAAkC;AACjF,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GAAO,SAAAD,GACxB,4BAACI,GAAA,EAAM,GAAGH,GAAO,SAAAD,EAAA,CAAkB,EAAA,CACrC;AAEJ;AAEA,SAASI,EAAK,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAN,KAAoC;AACvE,QAAM,EAAE,OAAAO,GAAO,gBAAAC,EAAA,IAAmBC,EAAA,GAC5B,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9CC,IAAoBC,EAAuB,IAAI,GAE/C,EAAE,MAAMC,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAaX;AAAA,EAAA,CACd,GAEKY,KAAwBF,EAAmB,qBAAqB,CAAA,GAAI;AAAA,IACxE,CAAAG,MAAKA,EAAE,WAAW;AAAA,EAAA,GAGdC,IAAmBC,EAAQ,MAC3Bd,KAIGW,EAAqB,CAAC,GAAG,MAC/B,CAACX,GAAUW,EAAqB,CAAC,GAAG,IAAI,CAAC,GAEtCI,IAAoCD;AAAA,IACxC,MACEE;AAAA,MACE;AAAA,MACAC;AAAA,MACA,OAA2C;AAAA,QACzC,WAAW;AAAA,QACX,WAAAlB;AAAA,QACA,UAAAC;AAAA,QACA,kBAAAa;AAAA,QACA,SAASK;AAAA,QACT,mBAAAX;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACR,GAAWC,CAAQ;AAAA,EAAA,GAEhB,CAACmB,GAASC,CAAI,IAAIC,EAAWN,CAAiC;AAEpE,WAASG,EAAYI,GAAiBC,GAAgB;AACpD,IAAAH,EAAK,EAAE,MAAAE,GAAM,SAASC,EAAA,CAAM,GAExBD,MAASE,EAAkB,+BAC7BnB,EAAe,EAAI,IAInBiB,MAASE,EAAkB,oCAC3BF,MAASE,EAAkB,4BAC3BF,MAASE,EAAkB,2BAE3BnB,EAAe,EAAK,GAGtBX,EAAQ4B,GAAMC,CAAI;AAAA,EACpB;AAEA,QAAME,IAA0B,MAAM;AACpC,IAAAP,EAAYM,EAAkB,2BAA2B;AAAA,EAC3D,GAEME,IAAmB,MAAM;AAC7B,IAAArB,EAAe,EAAK;AAAA,EACtB,GAEMsB,IAAmBR,EAAQ,QAAQ,WACnCS,IAASD,GAAkB,UAAU;AAE3C,SACE,gBAAAE;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACC,OAAO;AAAA,QACL,GAAGX,EAAQ;AAAA,QACX,SAASD;AAAA,MAAA;AAAA,MAGX,UAAA;AAAA,QAAA,gBAAAtB;AAAA,UAACmC;AAAA,UAAA;AAAA,YACC,WAAAhC;AAAA,YACA,UAAAC;AAAA,YACA,qBAAqByB;AAAA,YACrB,SAAA/B;AAAA,YACA,mBAAmByB,EAAQ,QAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAErC,gBAAAvB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,QAAQG;AAAA,YACR,SAASsB;AAAA,YACT,cAAcnB;AAAA,YACd,QACEqB,KACE,gBAAAhC,EAACoC,GAAA,EACC,UAAA,gBAAApC;AAAA,cAACqC;AAAA,cAAA;AAAA,gBACC,UACE,gBAAArC,EAAC,OAAA,EAAI,WAAWsC,EAAO,QACrB,UAAA,gBAAAtC,EAACM,GAAA,EAAe,MAAK,KAAA,CAAK,EAAA,CAC5B;AAAA,gBAGF,UAAA,gBAAAN,EAACgC,GAAA,EAAO,SAASV,EAAA,CAAa;AAAA,cAAA;AAAA,YAAA,GAElC;AAAA,YAIH,UAAAS,uBAAqBA,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,MACzC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"ConfirmWireDetails.js","sources":["../../../../src/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.tsx"],"sourcesContent":["import { createMachine } from 'robot3'\nimport { useMachine } from 'react-robot'\nimport { Suspense, useMemo, useRef, useState } from 'react'\nimport { useWireInRequestsListSuspense } from '@gusto/embedded-api/react-query/wireInRequestsList'\nimport { ConfirmWireDetailsBanner } from './ConfirmWireDetailsBanner'\nimport { confirmWireDetailsMachine } from './confirmWireDetailsStateMachine'\nimport { type ConfirmWireDetailsContextInterface } from './ConfirmWireDetailsComponents'\nimport type { ConfirmWireDetailsProps } from './types'\nexport type { ConfirmWireDetailsComponentType } from './types'\nimport styles from './ConfirmWireDetails.module.scss'\nimport { BaseComponent, BaseBoundaries } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { FlowContext } from '@/components/Flow/useFlow'\nimport { payrollWireEvents, type EventType } from '@/shared/constants'\n\n/**\n * Wire transfer confirmation workflow for payroll funding.\n *\n * Displays a banner when wire transfers are awaiting funds and walks the user\n * through viewing wire instructions and confirming transfer details via a modal.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `payroll/wire/startTransfer` | User initiates the wire transfer flow | — |\n * | `payroll/wire/instructions/select` | User selects a wire-in request from the instructions screen | `{ selectedWireInId: string }` |\n * | `payroll/wire/instructions/done` | User completes viewing wire instructions | `{ selectedWireInId: string }` |\n * | `payroll/wire/instructions/cancel` | User cancels viewing wire instructions | — |\n * | `payroll/wire/form/done` | User completes the wire confirmation form | `{ wireInRequest: WireInRequest }` |\n * | `payroll/wire/form/cancel` | User cancels the wire confirmation form | — |\n *\n * @param props - {@link ConfirmWireDetailsProps}\n * @returns The wire confirmation banner and modal flow.\n * @public\n *\n * @example\n * ```tsx\n * import { Payroll } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <Payroll.ConfirmWireDetails\n * companyId=\"your-company-id\"\n * wireInId=\"your-wire-in-id\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function ConfirmWireDetails({ onEvent, ...props }: ConfirmWireDetailsProps) {\n return (\n <BaseComponent {...props} onEvent={onEvent}>\n <Root {...props} onEvent={onEvent} />\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, wireInId, onEvent }: ConfirmWireDetailsProps) {\n const { Modal, LoadingSpinner } = useComponentContext()\n const [isModalOpen, setIsModalOpen] = useState(false)\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const { data: wireInRequestsData } = useWireInRequestsListSuspense({\n companyUuid: companyId,\n })\n\n const activeWireInRequests = (wireInRequestsData.wireInRequestList || []).filter(\n r => r.status === 'awaiting_funds',\n )\n\n const selectedWireInId = useMemo(() => {\n if (wireInId) {\n return wireInId\n }\n\n return activeWireInRequests[0]?.uuid\n }, [wireInId, activeWireInRequests[0]?.uuid])\n\n const confirmWireDetailsMachineInstance = useMemo(\n () =>\n createMachine(\n 'banner',\n confirmWireDetailsMachine,\n (): ConfirmWireDetailsContextInterface => ({\n component: null,\n companyId,\n wireInId,\n selectedWireInId,\n onEvent: handleEvent,\n modalContainerRef,\n }),\n ),\n [companyId, wireInId],\n )\n const [current, send] = useMachine(confirmWireDetailsMachineInstance)\n\n function handleEvent(type: EventType, data?: unknown) {\n send({ type, payload: data })\n\n if (type === payrollWireEvents.PAYROLL_WIRE_START_TRANSFER) {\n setIsModalOpen(true)\n }\n\n if (\n type === payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_CANCEL ||\n type === payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL ||\n type === payrollWireEvents.PAYROLL_WIRE_FORM_DONE\n ) {\n setIsModalOpen(false)\n }\n\n onEvent(type, data)\n }\n\n const handleStartWireTransfer = () => {\n handleEvent(payrollWireEvents.PAYROLL_WIRE_START_TRANSFER)\n }\n\n const handleCloseModal = () => {\n setIsModalOpen(false)\n }\n\n const CurrentComponent = current.context.component\n const Footer = CurrentComponent?.Footer || undefined\n\n return (\n <FlowContext.Provider\n value={{\n ...current.context,\n onEvent: handleEvent,\n }}\n >\n <ConfirmWireDetailsBanner\n companyId={companyId}\n wireInId={wireInId}\n onStartWireTransfer={handleStartWireTransfer}\n onEvent={onEvent}\n confirmationAlert={current.context.confirmationAlert}\n />\n <Modal\n isOpen={isModalOpen}\n onClose={handleCloseModal}\n containerRef={modalContainerRef}\n footer={\n Footer && (\n <BaseBoundaries>\n <Suspense\n fallback={\n <div className={styles.footer}>\n <LoadingSpinner size=\"sm\" />\n </div>\n }\n >\n <Footer onEvent={handleEvent} />\n </Suspense>\n </BaseBoundaries>\n )\n }\n >\n {CurrentComponent && <CurrentComponent />}\n </Modal>\n </FlowContext.Provider>\n )\n}\n"],"names":["ConfirmWireDetails","onEvent","props","jsx","BaseComponent","Root","companyId","wireInId","Modal","LoadingSpinner","useComponentContext","isModalOpen","setIsModalOpen","useState","modalContainerRef","useRef","wireInRequestsData","useWireInRequestsListSuspense","activeWireInRequests","r","selectedWireInId","useMemo","confirmWireDetailsMachineInstance","createMachine","confirmWireDetailsMachine","handleEvent","current","send","useMachine","type","data","payrollWireEvents","handleStartWireTransfer","handleCloseModal","CurrentComponent","Footer","jsxs","FlowContext","ConfirmWireDetailsBanner","BaseBoundaries","Suspense","styles"],"mappings":";;;;;;;;;;;;;AAkDO,SAASA,EAAmB,EAAE,SAAAC,GAAS,GAAGC,KAAkC;AACjF,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GAAO,SAAAD,GACxB,4BAACI,GAAA,EAAM,GAAGH,GAAO,SAAAD,EAAA,CAAkB,EAAA,CACrC;AAEJ;AAEA,SAASI,EAAK,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAN,KAAoC;AACvE,QAAM,EAAE,OAAAO,GAAO,gBAAAC,EAAA,IAAmBC,EAAA,GAC5B,CAACC,GAAaC,CAAc,IAAIC,EAAS,EAAK,GAC9CC,IAAoBC,EAAuB,IAAI,GAE/C,EAAE,MAAMC,EAAA,IAAuBC,EAA8B;AAAA,IACjE,aAAaX;AAAA,EAAA,CACd,GAEKY,KAAwBF,EAAmB,qBAAqB,CAAA,GAAI;AAAA,IACxE,CAAAG,MAAKA,EAAE,WAAW;AAAA,EAAA,GAGdC,IAAmBC,EAAQ,MAC3Bd,KAIGW,EAAqB,CAAC,GAAG,MAC/B,CAACX,GAAUW,EAAqB,CAAC,GAAG,IAAI,CAAC,GAEtCI,IAAoCD;AAAA,IACxC,MACEE;AAAA,MACE;AAAA,MACAC;AAAA,MACA,OAA2C;AAAA,QACzC,WAAW;AAAA,QACX,WAAAlB;AAAA,QACA,UAAAC;AAAA,QACA,kBAAAa;AAAA,QACA,SAASK;AAAA,QACT,mBAAAX;AAAA,MAAA;AAAA,IACF;AAAA,IAEJ,CAACR,GAAWC,CAAQ;AAAA,EAAA,GAEhB,CAACmB,GAASC,CAAI,IAAIC,EAAWN,CAAiC;AAEpE,WAASG,EAAYI,GAAiBC,GAAgB;AACpD,IAAAH,EAAK,EAAE,MAAAE,GAAM,SAASC,EAAA,CAAM,GAExBD,MAASE,EAAkB,+BAC7BnB,EAAe,EAAI,IAInBiB,MAASE,EAAkB,oCAC3BF,MAASE,EAAkB,4BAC3BF,MAASE,EAAkB,2BAE3BnB,EAAe,EAAK,GAGtBX,EAAQ4B,GAAMC,CAAI;AAAA,EACpB;AAEA,QAAME,IAA0B,MAAM;AACpC,IAAAP,EAAYM,EAAkB,2BAA2B;AAAA,EAC3D,GAEME,IAAmB,MAAM;AAC7B,IAAArB,EAAe,EAAK;AAAA,EACtB,GAEMsB,IAAmBR,EAAQ,QAAQ,WACnCS,IAASD,GAAkB,UAAU;AAE3C,SACE,gBAAAE;AAAA,IAACC,EAAY;AAAA,IAAZ;AAAA,MACC,OAAO;AAAA,QACL,GAAGX,EAAQ;AAAA,QACX,SAASD;AAAA,MAAA;AAAA,MAGX,UAAA;AAAA,QAAA,gBAAAtB;AAAA,UAACmC;AAAA,UAAA;AAAA,YACC,WAAAhC;AAAA,YACA,UAAAC;AAAA,YACA,qBAAqByB;AAAA,YACrB,SAAA/B;AAAA,YACA,mBAAmByB,EAAQ,QAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAErC,gBAAAvB;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,QAAQG;AAAA,YACR,SAASsB;AAAA,YACT,cAAcnB;AAAA,YACd,QACEqB,KACE,gBAAAhC,EAACoC,GAAA,EACC,UAAA,gBAAApC;AAAA,cAACqC;AAAA,cAAA;AAAA,gBACC,UACE,gBAAArC,EAAC,OAAA,EAAI,WAAWsC,EAAO,QACrB,UAAA,gBAAAtC,EAACM,GAAA,EAAe,MAAK,KAAA,CAAK,EAAA,CAC5B;AAAA,gBAGF,UAAA,gBAAAN,EAACgC,GAAA,EAAO,SAASV,EAAA,CAAa;AAAA,cAAA;AAAA,YAAA,GAElC;AAAA,YAIH,UAAAS,uBAAqBA,GAAA,CAAA,CAAiB;AAAA,UAAA;AAAA,QAAA;AAAA,MACzC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -25,8 +25,8 @@ export type EventPayloads = {
25
25
  };
26
26
  /** @internal */
27
27
  export declare const confirmWireDetailsMachine: {
28
- banner: import('../../../lib/state-machine').StateDefinition;
29
- wireInstructions: import('../../../lib/state-machine').StateDefinition;
30
- confirmForm: import('../../../lib/state-machine').StateDefinition;
31
- final: import('../../../lib/state-machine').StateDefinition;
28
+ banner: import('robot3').MachineState<any>;
29
+ wireInstructions: import('robot3').MachineState<any>;
30
+ confirmForm: import('robot3').MachineState<any>;
31
+ final: import('robot3').MachineState<any>;
32
32
  };
@@ -1,8 +1,7 @@
1
+ import { state as i, transition as e, reduce as r } from "robot3";
1
2
  import { ConfirmWireDetailsFormContextual as I, WireInstructionsContextual as a } from "./ConfirmWireDetailsComponents.js";
2
- import "react";
3
- import { state as i, transition as e, reduce as r } from "../../../lib/state-machine/core.js";
4
3
  import { payrollWireEvents as o } from "../../../shared/constants.js";
5
- const s = {
4
+ const m = {
6
5
  banner: i(
7
6
  e(
8
7
  o.PAYROLL_WIRE_START_TRANSFER,
@@ -67,6 +66,6 @@ const s = {
67
66
  final: i()
68
67
  };
69
68
  export {
70
- s as confirmWireDetailsMachine
69
+ m as confirmWireDetailsMachine
71
70
  };
72
71
  //# sourceMappingURL=confirmWireDetailsStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirmWireDetailsStateMachine.js","sources":["../../../../src/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.tsx"],"sourcesContent":["import type { ConfirmationAlert } from './types'\nimport type { ConfirmWireDetailsContextInterface } from './ConfirmWireDetailsComponents'\nimport {\n WireInstructionsContextual,\n ConfirmWireDetailsFormContextual,\n} from './ConfirmWireDetailsComponents'\nimport { state, transition, reduce } from '@/lib/state-machine'\nimport { payrollWireEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/**\n * Payload shapes for each wire-confirmation state machine event.\n *\n * @internal\n */\nexport type EventPayloads = {\n /** Wire-in request selected within the instructions screen. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT]: {\n selectedWireInId: string\n }\n /** Banner button pressed to begin the wire transfer flow. */\n [payrollWireEvents.PAYROLL_WIRE_START_TRANSFER]: undefined\n /** Instructions screen completed; advances to the confirmation form. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE]: {\n selectedWireInId: string\n }\n /** Confirmation form submitted; carries the alert to surface on the banner. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_DONE]: {\n confirmationAlert: ConfirmationAlert\n }\n /** Confirmation form cancelled. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL]: undefined\n}\n\n/** @internal */\nexport const confirmWireDetailsMachine = {\n banner: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_START_TRANSFER,\n 'wireInstructions',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: WireInstructionsContextual,\n })),\n ),\n ),\n wireInstructions: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT,\n 'wireInstructions',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE,\n 'confirmForm',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: ConfirmWireDetailsFormContextual,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n })),\n ),\n ),\n confirmForm: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_DONE,\n 'banner',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<EventPayloads, typeof payrollWireEvents.PAYROLL_WIRE_FORM_DONE>,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n confirmationAlert: ev.payload.confirmationAlert,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["confirmWireDetailsMachine","state","transition","payrollWireEvents","reduce","ctx","WireInstructionsContextual","ev","ConfirmWireDetailsFormContextual"],"mappings":";;;;AAmCO,MAAMA,IAA4B;AAAA,EACvC,QAAQC;AAAA,IACNC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAWC;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,kBAAkBL;AAAA,IAChBC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,kBAAkBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAWG;AAAA,UACX,kBAAkBD,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,MAAA,EACH;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,aAAaJ;AAAA,IACXC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OACwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAW;AAAA,UACX,mBAAmBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAChC;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAW;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,OAAOJ,EAAA;AACT;"}
1
+ {"version":3,"file":"confirmWireDetailsStateMachine.js","sources":["../../../../src/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.tsx"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { ConfirmationAlert } from './types'\nimport type { ConfirmWireDetailsContextInterface } from './ConfirmWireDetailsComponents'\nimport {\n WireInstructionsContextual,\n ConfirmWireDetailsFormContextual,\n} from './ConfirmWireDetailsComponents'\nimport { payrollWireEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/**\n * Payload shapes for each wire-confirmation state machine event.\n *\n * @internal\n */\nexport type EventPayloads = {\n /** Wire-in request selected within the instructions screen. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT]: {\n selectedWireInId: string\n }\n /** Banner button pressed to begin the wire transfer flow. */\n [payrollWireEvents.PAYROLL_WIRE_START_TRANSFER]: undefined\n /** Instructions screen completed; advances to the confirmation form. */\n [payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE]: {\n selectedWireInId: string\n }\n /** Confirmation form submitted; carries the alert to surface on the banner. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_DONE]: {\n confirmationAlert: ConfirmationAlert\n }\n /** Confirmation form cancelled. */\n [payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL]: undefined\n}\n\n/** @internal */\nexport const confirmWireDetailsMachine = {\n banner: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_START_TRANSFER,\n 'wireInstructions',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: WireInstructionsContextual,\n })),\n ),\n ),\n wireInstructions: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT,\n 'wireInstructions',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_SELECT\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE,\n 'confirmForm',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<\n EventPayloads,\n typeof payrollWireEvents.PAYROLL_WIRE_INSTRUCTIONS_DONE\n >,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: ConfirmWireDetailsFormContextual,\n selectedWireInId: ev.payload.selectedWireInId,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n })),\n ),\n ),\n confirmForm: state<MachineTransition>(\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_DONE,\n 'banner',\n reduce(\n (\n ctx: ConfirmWireDetailsContextInterface,\n ev: MachineEventType<EventPayloads, typeof payrollWireEvents.PAYROLL_WIRE_FORM_DONE>,\n ): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n confirmationAlert: ev.payload.confirmationAlert,\n }),\n ),\n ),\n transition(\n payrollWireEvents.PAYROLL_WIRE_FORM_CANCEL,\n 'banner',\n reduce((ctx: ConfirmWireDetailsContextInterface): ConfirmWireDetailsContextInterface => ({\n ...ctx,\n component: null,\n })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["confirmWireDetailsMachine","state","transition","payrollWireEvents","reduce","ctx","WireInstructionsContextual","ev","ConfirmWireDetailsFormContextual"],"mappings":";;;AAmCO,MAAMA,IAA4B;AAAA,EACvC,QAAQC;AAAA,IACNC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAWC;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,kBAAkBL;AAAA,IAChBC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,kBAAkBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OAIwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAWG;AAAA,UACX,kBAAkBD,EAAG,QAAQ;AAAA,QAAA;AAAA,MAC/B;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,MAAA,EACH;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,aAAaJ;AAAA,IACXC;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC;AAAA,QACE,CACEC,GACAE,OACwC;AAAA,UACxC,GAAGF;AAAA,UACH,WAAW;AAAA,UACX,mBAAmBE,EAAG,QAAQ;AAAA,QAAA;AAAA,MAChC;AAAA,IACF;AAAA,IAEFL;AAAA,MACEC,EAAkB;AAAA,MAClB;AAAA,MACAC,EAAO,CAACC,OAAiF;AAAA,QACvF,GAAGA;AAAA,QACH,WAAW;AAAA,MAAA,EACX;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,OAAOJ,EAAA;AACT;"}
@@ -1,17 +1,17 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
2
  import { useMemo as u } from "react";
3
- import { dismissalMachine as l, dismissalBreadcrumbsNodes as d } from "./dismissalStateMachine.js";
4
- import { DismissalExecutionContextual as p, DismissalPayPeriodSelectionContextual as f } from "./DismissalFlowComponents.js";
5
- import { createMachine as b } from "../../../lib/state-machine/core.js";
3
+ import { createMachine as l } from "robot3";
4
+ import { dismissalMachine as d, dismissalBreadcrumbsNodes as p } from "./dismissalStateMachine.js";
5
+ import { DismissalExecutionContextual as f, DismissalPayPeriodSelectionContextual as b } from "./DismissalFlowComponents.js";
6
6
  import { Flow as h } from "../../Flow/Flow.js";
7
7
  import { BaseComponent as x } from "../../Base/Base.js";
8
8
  import { buildBreadcrumbs as B } from "../../../helpers/breadcrumbHelpers.js";
9
9
  function j({ companyId: e, employeeId: o, onEvent: t, payrollId: i }) {
10
10
  const m = u(() => {
11
- const r = !!i && !!o, n = r ? "execution" : "payPeriodSelection", a = r ? p : f;
12
- return b(
11
+ const r = !!i && !!o, n = r ? "execution" : "payPeriodSelection", a = r ? f : b;
12
+ return l(
13
13
  n,
14
- l,
14
+ d,
15
15
  (c) => ({
16
16
  ...c,
17
17
  component: a,
@@ -20,7 +20,7 @@ function j({ companyId: e, employeeId: o, onEvent: t, payrollId: i }) {
20
20
  payrollUuid: i,
21
21
  header: {
22
22
  type: "breadcrumbs",
23
- breadcrumbs: B(d),
23
+ breadcrumbs: B(p),
24
24
  currentBreadcrumbId: r ? void 0 : "payPeriodSelection"
25
25
  }
26
26
  })
@@ -1 +1 @@
1
- {"version":3,"file":"DismissalFlow.js","sources":["../../../../src/components/Payroll/Dismissal/DismissalFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { dismissalMachine, dismissalBreadcrumbsNodes } from './dismissalStateMachine'\nimport {\n DismissalPayPeriodSelectionContextual,\n DismissalExecutionContextual,\n type DismissalFlowContextInterface,\n type DismissalFlowProps,\n} from './DismissalFlowComponents'\nimport { createMachine } from '@/lib/state-machine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to run a dismissed employee's final payroll.\n *\n * @remarks\n * This flow only runs the final payroll for an employee who is being let go; it does not terminate\n * the employee. To end employment — set a termination date, choose how to handle the final paycheck,\n * and optionally launch this payroll — use {@link EmployeeManagement.TerminationFlow}.\n *\n * Presents unprocessed termination pay periods for the employee, creates an off-cycle payroll for the selected period with the `\"Dismissed employee\"` off-cycle reason, and then transitions into the standard payroll execution flow for configuration, review, submission, and receipts.\n *\n * When `payrollId` is provided, pay period selection is skipped and the flow starts directly at execution for that payroll. When omitted, the flow starts at pay period selection.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `dismissal/payPeriod/selected` | A pay period is selected and the dismissal payroll is created | `{ payrollUuid: string }` |\n *\n * Once the payroll is created, all standard run-payroll events (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`) are emitted during execution.\n *\n * @components\n * - {@link DismissalPayPeriodSelection}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - {@link DismissalFlowProps} with the company, employee, optional payroll, and event handler.\n * @returns The composed dismissal payroll 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.DismissalFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * employeeId=\"8e5c8492-3bb3-4b6b-8003-bb8c6aefca0d\"\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 DismissalFlow({ companyId, employeeId, onEvent, payrollId }: DismissalFlowProps) {\n const dismissalFlowMachine = useMemo(() => {\n const shouldAutoAdvance = Boolean(payrollId) && Boolean(employeeId)\n const initialState = shouldAutoAdvance ? 'execution' : 'payPeriodSelection'\n const initialComponent = shouldAutoAdvance\n ? DismissalExecutionContextual\n : DismissalPayPeriodSelectionContextual\n\n return createMachine(\n initialState,\n dismissalMachine,\n (initialContext: DismissalFlowContextInterface) => ({\n ...initialContext,\n component: initialComponent,\n companyId,\n employeeId,\n payrollUuid: payrollId,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(dismissalBreadcrumbsNodes),\n currentBreadcrumbId: shouldAutoAdvance ? undefined : 'payPeriodSelection',\n },\n }),\n )\n }, [companyId, employeeId, payrollId])\n\n return (\n <BaseComponent onEvent={onEvent}>\n <Flow machine={dismissalFlowMachine} onEvent={onEvent} />\n </BaseComponent>\n )\n}\n"],"names":["DismissalFlow","companyId","employeeId","onEvent","payrollId","dismissalFlowMachine","useMemo","shouldAutoAdvance","initialState","initialComponent","DismissalExecutionContextual","DismissalPayPeriodSelectionContextual","createMachine","dismissalMachine","initialContext","buildBreadcrumbs","dismissalBreadcrumbsNodes","jsx","BaseComponent","Flow"],"mappings":";;;;;;;;AA2DO,SAASA,EAAc,EAAE,WAAAC,GAAW,YAAAC,GAAY,SAAAC,GAAS,WAAAC,KAAiC;AAC/F,QAAMC,IAAuBC,EAAQ,MAAM;AACzC,UAAMC,IAAoB,EAAQH,KAAc,EAAQF,GAClDM,IAAeD,IAAoB,cAAc,sBACjDE,IAAmBF,IACrBG,IACAC;AAEJ,WAAOC;AAAA,MACLJ;AAAA,MACAK;AAAA,MACA,CAACC,OAAmD;AAAA,QAClD,GAAGA;AAAA,QACH,WAAWL;AAAA,QACX,WAAAR;AAAA,QACA,YAAAC;AAAA,QACA,aAAaE;AAAA,QACb,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaW,EAAiBC,CAAyB;AAAA,UACvD,qBAAqBT,IAAoB,SAAY;AAAA,QAAA;AAAA,MACvD;AAAA,IACF;AAAA,EAEJ,GAAG,CAACN,GAAWC,GAAYE,CAAS,CAAC;AAErC,SACE,gBAAAa,EAACC,KAAc,SAAAf,GACb,UAAA,gBAAAc,EAACE,KAAK,SAASd,GAAsB,SAAAF,GAAkB,EAAA,CACzD;AAEJ;"}
1
+ {"version":3,"file":"DismissalFlow.js","sources":["../../../../src/components/Payroll/Dismissal/DismissalFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { dismissalMachine, dismissalBreadcrumbsNodes } from './dismissalStateMachine'\nimport {\n DismissalPayPeriodSelectionContextual,\n DismissalExecutionContextual,\n type DismissalFlowContextInterface,\n type DismissalFlowProps,\n} from './DismissalFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to run a dismissed employee's final payroll.\n *\n * @remarks\n * This flow only runs the final payroll for an employee who is being let go; it does not terminate\n * the employee. To end employment — set a termination date, choose how to handle the final paycheck,\n * and optionally launch this payroll — use {@link EmployeeManagement.TerminationFlow}.\n *\n * Presents unprocessed termination pay periods for the employee, creates an off-cycle payroll for the selected period with the `\"Dismissed employee\"` off-cycle reason, and then transitions into the standard payroll execution flow for configuration, review, submission, and receipts.\n *\n * When `payrollId` is provided, pay period selection is skipped and the flow starts directly at execution for that payroll. When omitted, the flow starts at pay period selection.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `dismissal/payPeriod/selected` | A pay period is selected and the dismissal payroll is created | `{ payrollUuid: string }` |\n *\n * Once the payroll is created, all standard run-payroll events (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`) are emitted during execution.\n *\n * @components\n * - {@link DismissalPayPeriodSelection}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - {@link DismissalFlowProps} with the company, employee, optional payroll, and event handler.\n * @returns The composed dismissal payroll 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.DismissalFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * employeeId=\"8e5c8492-3bb3-4b6b-8003-bb8c6aefca0d\"\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 DismissalFlow({ companyId, employeeId, onEvent, payrollId }: DismissalFlowProps) {\n const dismissalFlowMachine = useMemo(() => {\n const shouldAutoAdvance = Boolean(payrollId) && Boolean(employeeId)\n const initialState = shouldAutoAdvance ? 'execution' : 'payPeriodSelection'\n const initialComponent = shouldAutoAdvance\n ? DismissalExecutionContextual\n : DismissalPayPeriodSelectionContextual\n\n return createMachine(\n initialState,\n dismissalMachine,\n (initialContext: DismissalFlowContextInterface) => ({\n ...initialContext,\n component: initialComponent,\n companyId,\n employeeId,\n payrollUuid: payrollId,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(dismissalBreadcrumbsNodes),\n currentBreadcrumbId: shouldAutoAdvance ? undefined : 'payPeriodSelection',\n },\n }),\n )\n }, [companyId, employeeId, payrollId])\n\n return (\n <BaseComponent onEvent={onEvent}>\n <Flow machine={dismissalFlowMachine} onEvent={onEvent} />\n </BaseComponent>\n )\n}\n"],"names":["DismissalFlow","companyId","employeeId","onEvent","payrollId","dismissalFlowMachine","useMemo","shouldAutoAdvance","initialState","initialComponent","DismissalExecutionContextual","DismissalPayPeriodSelectionContextual","createMachine","dismissalMachine","initialContext","buildBreadcrumbs","dismissalBreadcrumbsNodes","jsx","BaseComponent","Flow"],"mappings":";;;;;;;;AA2DO,SAASA,EAAc,EAAE,WAAAC,GAAW,YAAAC,GAAY,SAAAC,GAAS,WAAAC,KAAiC;AAC/F,QAAMC,IAAuBC,EAAQ,MAAM;AACzC,UAAMC,IAAoB,EAAQH,KAAc,EAAQF,GAClDM,IAAeD,IAAoB,cAAc,sBACjDE,IAAmBF,IACrBG,IACAC;AAEJ,WAAOC;AAAA,MACLJ;AAAA,MACAK;AAAA,MACA,CAACC,OAAmD;AAAA,QAClD,GAAGA;AAAA,QACH,WAAWL;AAAA,QACX,WAAAR;AAAA,QACA,YAAAC;AAAA,QACA,aAAaE;AAAA,QACb,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaW,EAAiBC,CAAyB;AAAA,UACvD,qBAAqBT,IAAoB,SAAY;AAAA,QAAA;AAAA,MACvD;AAAA,IACF;AAAA,EAEJ,GAAG,CAACN,GAAWC,GAAYE,CAAS,CAAC;AAErC,SACE,gBAAAa,EAACC,KAAc,SAAAf,GACb,UAAA,gBAAAc,EAACE,KAAK,SAASd,GAAsB,SAAAF,GAAkB,EAAA,CACzD;AAEJ;"}
@@ -3,6 +3,6 @@ import { BreadcrumbNodes } from '../../Common/FlowBreadcrumbs/FlowBreadcrumbsTyp
3
3
  export declare const dismissalBreadcrumbsNodes: BreadcrumbNodes;
4
4
  /** @internal */
5
5
  export declare const dismissalMachine: {
6
- payPeriodSelection: import('../../../lib/state-machine').StateDefinition;
7
- execution: import('../../../lib/state-machine').StateDefinition;
6
+ payPeriodSelection: import('robot3').MachineState<any>;
7
+ execution: import('robot3').MachineState<any>;
8
8
  };
@@ -1,16 +1,15 @@
1
- import { DismissalExecutionContextual as d, DismissalPayPeriodSelectionContextual as l } from "./DismissalFlowComponents.js";
2
- import "react";
3
- import { state as i, transition as r, reduce as a, guard as s } from "../../../lib/state-machine/core.js";
1
+ import { state as i, transition as r, reduce as a, guard as d } from "robot3";
2
+ import { DismissalExecutionContextual as l, DismissalPayPeriodSelectionContextual as s } from "./DismissalFlowComponents.js";
4
3
  import { componentEvents as t } from "../../../shared/constants.js";
5
4
  import { patchBreadcrumbsHeader as n } from "../../../helpers/breadcrumbHelpers.js";
6
5
  function c(e) {
7
6
  return {
8
7
  ...n(e, { currentBreadcrumbId: "payPeriodSelection" }),
9
- component: l,
8
+ component: s,
10
9
  payrollUuid: void 0
11
10
  };
12
11
  }
13
- const b = {
12
+ const S = {
14
13
  payPeriodSelection: {
15
14
  parent: null,
16
15
  item: {
@@ -23,11 +22,11 @@ const b = {
23
22
  }, m = r(
24
23
  t.BREADCRUMB_NAVIGATE,
25
24
  "payPeriodSelection",
26
- s(
25
+ d(
27
26
  (e, o) => o.payload.key === "payPeriodSelection"
28
27
  ),
29
28
  a(c)
30
- ), E = {
29
+ ), b = {
31
30
  payPeriodSelection: i(
32
31
  r(
33
32
  t.DISMISSAL_PAY_PERIOD_SELECTED,
@@ -36,7 +35,7 @@ const b = {
36
35
  (e, o) => ({
37
36
  ...n(e, { currentBreadcrumbId: void 0 }),
38
37
  payrollUuid: o.payload?.payrollUuid,
39
- component: d
38
+ component: l
40
39
  })
41
40
  )
42
41
  )
@@ -44,7 +43,7 @@ const b = {
44
43
  execution: i(m)
45
44
  };
46
45
  export {
47
- b as dismissalBreadcrumbsNodes,
48
- E as dismissalMachine
46
+ S as dismissalBreadcrumbsNodes,
47
+ b as dismissalMachine
49
48
  };
50
49
  //# sourceMappingURL=dismissalStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dismissalStateMachine.js","sources":["../../../../src/components/Payroll/Dismissal/dismissalStateMachine.ts"],"sourcesContent":["import {\n DismissalPayPeriodSelectionContextual,\n DismissalExecutionContextual,\n type DismissalFlowContextInterface,\n} from './DismissalFlowComponents'\nimport { state, transition, reduce, guard } from '@/lib/state-machine'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\nfunction toPayPeriodSelectionReducer(\n ctx: DismissalFlowContextInterface,\n): DismissalFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'payPeriodSelection' }),\n component: DismissalPayPeriodSelectionContextual,\n payrollUuid: undefined,\n }\n}\n\n/** @internal */\nexport const dismissalBreadcrumbsNodes: BreadcrumbNodes = {\n payPeriodSelection: {\n parent: null,\n item: {\n id: 'payPeriodSelection',\n label: 'breadcrumbLabel',\n namespace: 'Payroll.Dismissal',\n onNavigate: toPayPeriodSelectionReducer as (context: unknown) => unknown,\n },\n },\n}\n\nconst payPeriodSelectionBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'payPeriodSelection',\n guard(\n (_ctx: DismissalFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'payPeriodSelection',\n ),\n reduce(toPayPeriodSelectionReducer),\n)\n\n/** @internal */\nexport const dismissalMachine = {\n payPeriodSelection: state<MachineTransition>(\n transition(\n componentEvents.DISMISSAL_PAY_PERIOD_SELECTED,\n 'execution',\n reduce(\n (\n ctx: DismissalFlowContextInterface,\n ev: { payload?: { payrollUuid?: string } },\n ): DismissalFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n payrollUuid: ev.payload?.payrollUuid,\n component: DismissalExecutionContextual,\n }),\n ),\n ),\n ),\n\n execution: state<MachineTransition>(payPeriodSelectionBreadcrumbTransition),\n}\n"],"names":["toPayPeriodSelectionReducer","ctx","patchBreadcrumbsHeader","DismissalPayPeriodSelectionContextual","dismissalBreadcrumbsNodes","payPeriodSelectionBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","dismissalMachine","state","DismissalExecutionContextual"],"mappings":";;;;;AAWA,SAASA,EACPC,GAC+B;AAC/B,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,sBAAsB;AAAA,IAC5E,WAAWE;AAAA,IACX,aAAa;AAAA,EAAA;AAEjB;AAGO,MAAMC,IAA6C;AAAA,EACxD,oBAAoB;AAAA,IAClB,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAYJ;AAAA,IAAA;AAAA,EACd;AAEJ,GAEMK,IAAyCC;AAAA,EAC7CC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAqCC,MACpCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOX,CAA2B;AACpC,GAGaY,IAAmB;AAAA,EAC9B,oBAAoBC;AAAA,IAClBP;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEV,GACAS,OACmC;AAAA,UACnC,GAAGR,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,aAAaS,EAAG,SAAS;AAAA,UACzB,WAAWI;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAGF,WAAWD,EAAyBR,CAAsC;AAC5E;"}
1
+ {"version":3,"file":"dismissalStateMachine.js","sources":["../../../../src/components/Payroll/Dismissal/dismissalStateMachine.ts"],"sourcesContent":["import { state, transition, reduce, guard } from 'robot3'\nimport {\n DismissalPayPeriodSelectionContextual,\n DismissalExecutionContextual,\n type DismissalFlowContextInterface,\n} from './DismissalFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\nfunction toPayPeriodSelectionReducer(\n ctx: DismissalFlowContextInterface,\n): DismissalFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'payPeriodSelection' }),\n component: DismissalPayPeriodSelectionContextual,\n payrollUuid: undefined,\n }\n}\n\n/** @internal */\nexport const dismissalBreadcrumbsNodes: BreadcrumbNodes = {\n payPeriodSelection: {\n parent: null,\n item: {\n id: 'payPeriodSelection',\n label: 'breadcrumbLabel',\n namespace: 'Payroll.Dismissal',\n onNavigate: toPayPeriodSelectionReducer as (context: unknown) => unknown,\n },\n },\n}\n\nconst payPeriodSelectionBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'payPeriodSelection',\n guard(\n (_ctx: DismissalFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'payPeriodSelection',\n ),\n reduce(toPayPeriodSelectionReducer),\n)\n\n/** @internal */\nexport const dismissalMachine = {\n payPeriodSelection: state<MachineTransition>(\n transition(\n componentEvents.DISMISSAL_PAY_PERIOD_SELECTED,\n 'execution',\n reduce(\n (\n ctx: DismissalFlowContextInterface,\n ev: { payload?: { payrollUuid?: string } },\n ): DismissalFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n payrollUuid: ev.payload?.payrollUuid,\n component: DismissalExecutionContextual,\n }),\n ),\n ),\n ),\n\n execution: state<MachineTransition>(payPeriodSelectionBreadcrumbTransition),\n}\n"],"names":["toPayPeriodSelectionReducer","ctx","patchBreadcrumbsHeader","DismissalPayPeriodSelectionContextual","dismissalBreadcrumbsNodes","payPeriodSelectionBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","dismissalMachine","state","DismissalExecutionContextual"],"mappings":";;;;AAWA,SAASA,EACPC,GAC+B;AAC/B,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,sBAAsB;AAAA,IAC5E,WAAWE;AAAA,IACX,aAAa;AAAA,EAAA;AAEjB;AAGO,MAAMC,IAA6C;AAAA,EACxD,oBAAoB;AAAA,IAClB,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,YAAYJ;AAAA,IAAA;AAAA,EACd;AAEJ,GAEMK,IAAyCC;AAAA,EAC7CC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAqCC,MACpCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOX,CAA2B;AACpC,GAGaY,IAAmB;AAAA,EAC9B,oBAAoBC;AAAA,IAClBP;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEV,GACAS,OACmC;AAAA,UACnC,GAAGR,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,aAAaS,EAAG,SAAS;AAAA,UACzB,WAAWI;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAGF,WAAWD,EAAyBR,CAAsC;AAC5E;"}
@@ -18,12 +18,13 @@ import "@gusto/embedded-api/models/errors/httpclienterrors";
18
18
  import { formatNumberAsCurrency as L } from "../../../helpers/formattedStrings.js";
19
19
  import "../../../shared/constants.js";
20
20
  import { useComponentContext as V } from "../../../contexts/ComponentAdapter/useComponentContext.js";
21
+ import "../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
21
22
  import { useI18n as E } from "../../../i18n/I18n.js";
22
23
  import { NumberInputField as T } from "../../Common/Fields/NumberInputField/NumberInputField.js";
23
24
  const q = P.object({
24
25
  netPay: P.number().positive()
25
26
  });
26
- function pe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
27
+ function fe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
27
28
  E("Payroll.GrossUpModal");
28
29
  const { t: r } = k("Payroll.GrossUpModal"), { Modal: M, Heading: u, Text: p, Button: i, Alert: f } = V(), { baseSubmitHandler: y } = H(), N = R(null), [l, c] = o(null), [h, m] = o(null), [g, b] = o(!1), [x, v] = o(!1), s = U({
29
30
  resolver: z(q),
@@ -110,6 +111,6 @@ function pe({ isOpen: n, onCalculateGrossUp: w, onApply: A, onCancel: d }) {
110
111
  );
111
112
  }
112
113
  export {
113
- pe as GrossUpModal
114
+ fe as GrossUpModal
114
115
  };
115
116
  //# sourceMappingURL=GrossUpModal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"GrossUpModal.js","sources":["../../../../src/components/Payroll/GrossUpModal/GrossUpModal.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport type { GrossUpModalProps } from './GrossUpModalTypes'\nimport styles from './GrossUpModal.module.scss'\nimport { ActionsLayout, Flex, NumberInputField } from '@/components/Common'\nimport { useBase } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\nconst GrossUpFormSchema = z.object({\n netPay: z.number().positive(),\n})\n\ntype GrossUpFormValues = z.infer<typeof GrossUpFormSchema>\n\n/** @internal */\nexport function GrossUpModal({ isOpen, onCalculateGrossUp, onApply, onCancel }: GrossUpModalProps) {\n useI18n('Payroll.GrossUpModal')\n const { t } = useTranslation('Payroll.GrossUpModal')\n const { Modal, Heading, Text, Button, Alert } = useComponentContext()\n const { baseSubmitHandler } = useBase()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const [calculatedGrossUp, setCalculatedGrossUp] = useState<string | null>(null)\n const [errorMessage, setErrorMessage] = useState<string | null>(null)\n const [isCalculating, setIsCalculating] = useState(false)\n const [isApplying, setIsApplying] = useState(false)\n\n const formHandlers = useForm<GrossUpFormValues>({\n resolver: zodResolver(GrossUpFormSchema),\n defaultValues: { netPay: 0 },\n })\n\n useEffect(() => {\n if (!isOpen) {\n formHandlers.reset({ netPay: 0 })\n setCalculatedGrossUp(null)\n setErrorMessage(null)\n }\n }, [isOpen, formHandlers.reset])\n\n const handleCalculate = async (data: GrossUpFormValues) => {\n setErrorMessage(null)\n setCalculatedGrossUp(null)\n setIsCalculating(true)\n\n await baseSubmitHandler(null, async () => {\n try {\n const result = await onCalculateGrossUp(data.netPay)\n\n if (result) {\n setCalculatedGrossUp(result)\n } else {\n setErrorMessage(t('errorMessage'))\n }\n } finally {\n setIsCalculating(false)\n }\n })\n }\n\n const handleApply = async () => {\n if (calculatedGrossUp) {\n setIsApplying(true)\n await baseSubmitHandler(null, async () => {\n try {\n await onApply(calculatedGrossUp)\n } finally {\n setIsApplying(false)\n }\n })\n }\n }\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button\n variant=\"primary\"\n isDisabled={!calculatedGrossUp}\n onClick={handleApply}\n isLoading={isApplying}\n >\n {t('applyCta')}\n </Button>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('cancelCta')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.header}>\n <Heading as=\"h2\" styledAs=\"h3\">\n {t('title')}\n </Heading>\n <Text variant=\"supporting\" as=\"p\">\n {t('description')}\n </Text>\n </div>\n\n <div className={styles.content}>\n {errorMessage && (\n <div className={styles.alert}>\n <Alert label={errorMessage} status=\"error\" disableScrollIntoView />\n </div>\n )}\n\n <div className={styles.alert}>\n <Alert label={t('warning')} status=\"warning\" disableScrollIntoView />\n </div>\n\n <Flex flexDirection=\"row\" gap={8}>\n <NumberInputField\n name=\"netPay\"\n label={t('netPayLabel')}\n format=\"currency\"\n errorMessage={t('validations.netPay')}\n min={0}\n isRequired\n />\n <Button\n variant=\"secondary\"\n className={styles.calculateButton}\n isDisabled={isCalculating}\n onClick={formHandlers.handleSubmit(handleCalculate)}\n >\n {isCalculating ? t('calculatingCta') : t('calculateCta')}\n </Button>\n </Flex>\n\n {calculatedGrossUp && (\n <>\n <div className={styles.result}>\n <Text size=\"sm\" variant=\"supporting\" weight=\"semibold\">\n {t('grossPayResult')}\n </Text>\n <Heading as=\"h3\">{formatNumberAsCurrency(parseFloat(calculatedGrossUp))}</Heading>\n </div>\n </>\n )}\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["GrossUpFormSchema","z","GrossUpModal","isOpen","onCalculateGrossUp","onApply","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","Alert","useComponentContext","baseSubmitHandler","useBase","modalContainerRef","useRef","calculatedGrossUp","setCalculatedGrossUp","useState","errorMessage","setErrorMessage","isCalculating","setIsCalculating","isApplying","setIsApplying","formHandlers","useForm","zodResolver","useEffect","handleCalculate","data","result","jsx","ActionsLayout","jsxs","FormProvider","styles","Flex","NumberInputField","Fragment"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { useMemo as a } from "react";
3
- import { offCycleMachine as l, offCycleBreadcrumbsNodes as i } from "./offCycleStateMachine.js";
4
- import { OffCycleCreationContextual as n } from "./OffCycleFlowComponents.js";
5
- import { createMachine as u } from "../../../lib/state-machine/core.js";
3
+ import { createMachine as l } from "robot3";
4
+ import { offCycleMachine as i, offCycleBreadcrumbsNodes as n } from "./offCycleStateMachine.js";
5
+ import { OffCycleCreationContextual as u } from "./OffCycleFlowComponents.js";
6
6
  import { Flow as C } from "../../Flow/Flow.js";
7
7
  import { buildBreadcrumbs as d } from "../../../helpers/breadcrumbHelpers.js";
8
8
  function x({
@@ -12,18 +12,18 @@ function x({
12
12
  withReimbursements: o
13
13
  }) {
14
14
  const f = a(
15
- () => u(
15
+ () => l(
16
16
  "createOffCyclePayroll",
17
- l,
17
+ i,
18
18
  (m) => ({
19
19
  ...m,
20
- component: n,
20
+ component: u,
21
21
  companyId: r,
22
22
  payrollType: e,
23
23
  withReimbursements: o,
24
24
  header: {
25
25
  type: "breadcrumbs",
26
- breadcrumbs: d(i),
26
+ breadcrumbs: d(n),
27
27
  currentBreadcrumbId: "createOffCyclePayroll"
28
28
  }
29
29
  })
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleFlow.js","sources":["../../../../src/components/Payroll/OffCycle/OffCycleFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { offCycleMachine, offCycleBreadcrumbsNodes } from './offCycleStateMachine'\nimport {\n OffCycleCreationContextual,\n type OffCycleFlowContextInterface,\n type OffCycleFlowProps,\n} from './OffCycleFlowComponents'\nimport { createMachine } from '@/lib/state-machine'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to create and run a bonus or correction payroll.\n *\n * @remarks\n * Guides the user through configuring pay period dates, selecting a reason, choosing\n * employees, and setting deduction and tax withholding preferences, then transitions\n * into the standard payroll execution experience (configuration, overview, submission,\n * receipts). All off-cycle payroll types share the same execution steps as regular\n * payrolls — only the creation step differs.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `breadcrumb/navigate` | User navigates via the flow breadcrumb header | `{ key: string }` |\n * | `offCycle/created` | Off-cycle payroll has been created and the flow transitions to execution | `{ payrollUuid: string }` |\n *\n * Once the flow transitions to execution, all standard run-payroll events are emitted\n * (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`).\n *\n * @components\n * - {@link OffCycleCreation}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - {@link OffCycleFlowProps}\n * @returns The rendered off-cycle payroll 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.OffCycleFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\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 OffCycleFlow({\n companyId,\n payrollType,\n onEvent,\n withReimbursements,\n}: OffCycleFlowProps) {\n const offCycleFlowMachine = useMemo(\n () =>\n createMachine(\n 'createOffCyclePayroll',\n offCycleMachine,\n (initialContext: OffCycleFlowContextInterface) => ({\n ...initialContext,\n component: OffCycleCreationContextual,\n companyId,\n payrollType,\n withReimbursements,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(offCycleBreadcrumbsNodes),\n currentBreadcrumbId: 'createOffCyclePayroll',\n },\n }),\n ),\n [companyId, payrollType, withReimbursements],\n )\n\n return <Flow machine={offCycleFlowMachine} onEvent={onEvent} />\n}\n"],"names":["OffCycleFlow","companyId","payrollType","onEvent","withReimbursements","offCycleFlowMachine","useMemo","createMachine","offCycleMachine","initialContext","OffCycleCreationContextual","buildBreadcrumbs","offCycleBreadcrumbsNodes","jsx","Flow"],"mappings":";;;;;;;AAwDO,SAASA,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,oBAAAC;AACF,GAAsB;AACpB,QAAMC,IAAsBC;AAAA,IAC1B,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAkD;AAAA,QACjD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAT;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaO,EAAiBC,CAAwB;AAAA,UACtD,qBAAqB;AAAA,QAAA;AAAA,MACvB;AAAA,IACF;AAAA,IAEJ,CAACX,GAAWC,GAAaE,CAAkB;AAAA,EAAA;AAG7C,SAAO,gBAAAS,EAACC,GAAA,EAAK,SAAST,GAAqB,SAAAF,EAAA,CAAkB;AAC/D;"}
1
+ {"version":3,"file":"OffCycleFlow.js","sources":["../../../../src/components/Payroll/OffCycle/OffCycleFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { offCycleMachine, offCycleBreadcrumbsNodes } from './offCycleStateMachine'\nimport {\n OffCycleCreationContextual,\n type OffCycleFlowContextInterface,\n type OffCycleFlowProps,\n} from './OffCycleFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to create and run a bonus or correction payroll.\n *\n * @remarks\n * Guides the user through configuring pay period dates, selecting a reason, choosing\n * employees, and setting deduction and tax withholding preferences, then transitions\n * into the standard payroll execution experience (configuration, overview, submission,\n * receipts). All off-cycle payroll types share the same execution steps as regular\n * payrolls — only the creation step differs.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `breadcrumb/navigate` | User navigates via the flow breadcrumb header | `{ key: string }` |\n * | `offCycle/created` | Off-cycle payroll has been created and the flow transitions to execution | `{ payrollUuid: string }` |\n *\n * Once the flow transitions to execution, all standard run-payroll events are emitted\n * (e.g. `runPayroll/calculated`, `runPayroll/submitted`, `runPayroll/processed`).\n *\n * @components\n * - {@link OffCycleCreation}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - {@link OffCycleFlowProps}\n * @returns The rendered off-cycle payroll 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.OffCycleFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\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 OffCycleFlow({\n companyId,\n payrollType,\n onEvent,\n withReimbursements,\n}: OffCycleFlowProps) {\n const offCycleFlowMachine = useMemo(\n () =>\n createMachine(\n 'createOffCyclePayroll',\n offCycleMachine,\n (initialContext: OffCycleFlowContextInterface) => ({\n ...initialContext,\n component: OffCycleCreationContextual,\n companyId,\n payrollType,\n withReimbursements,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(offCycleBreadcrumbsNodes),\n currentBreadcrumbId: 'createOffCyclePayroll',\n },\n }),\n ),\n [companyId, payrollType, withReimbursements],\n )\n\n return <Flow machine={offCycleFlowMachine} onEvent={onEvent} />\n}\n"],"names":["OffCycleFlow","companyId","payrollType","onEvent","withReimbursements","offCycleFlowMachine","useMemo","createMachine","offCycleMachine","initialContext","OffCycleCreationContextual","buildBreadcrumbs","offCycleBreadcrumbsNodes","jsx","Flow"],"mappings":";;;;;;;AAwDO,SAASA,EAAa;AAAA,EAC3B,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,oBAAAC;AACF,GAAsB;AACpB,QAAMC,IAAsBC;AAAA,IAC1B,MACEC;AAAA,MACE;AAAA,MACAC;AAAA,MACA,CAACC,OAAkD;AAAA,QACjD,GAAGA;AAAA,QACH,WAAWC;AAAA,QACX,WAAAT;AAAA,QACA,aAAAC;AAAA,QACA,oBAAAE;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaO,EAAiBC,CAAwB;AAAA,UACtD,qBAAqB;AAAA,QAAA;AAAA,MACvB;AAAA,IACF;AAAA,IAEJ,CAACX,GAAWC,GAAaE,CAAkB;AAAA,EAAA;AAG7C,SAAO,gBAAAS,EAACC,GAAA,EAAK,SAAST,GAAqB,SAAAF,EAAA,CAAkB;AAC/D;"}
@@ -3,6 +3,6 @@ import { BreadcrumbNodes } from '../../Common/FlowBreadcrumbs/FlowBreadcrumbsTyp
3
3
  export declare const offCycleBreadcrumbsNodes: BreadcrumbNodes;
4
4
  /** @internal */
5
5
  export declare const offCycleMachine: {
6
- createOffCyclePayroll: import('../../../lib/state-machine').StateDefinition;
7
- execution: import('../../../lib/state-machine').StateDefinition;
6
+ createOffCyclePayroll: import('robot3').MachineState<any>;
7
+ execution: import('robot3').MachineState<any>;
8
8
  };
@@ -1,9 +1,8 @@
1
- import { OffCycleExecutionContextual as f, OffCycleCreationContextual as c } from "./OffCycleFlowComponents.js";
2
- import "react";
3
- import { state as a, transition as l, reduce as t, guard as y } from "../../../lib/state-machine/core.js";
1
+ import { state as a, transition as c, reduce as l, guard as f } from "robot3";
2
+ import { OffCycleExecutionContextual as y, OffCycleCreationContextual as t } from "./OffCycleFlowComponents.js";
4
3
  import { componentEvents as n } from "../../../shared/constants.js";
5
4
  import { patchBreadcrumbsHeader as o } from "../../../helpers/breadcrumbHelpers.js";
6
- const s = {
5
+ const O = {
7
6
  createOffCyclePayroll: {
8
7
  parent: null,
9
8
  item: {
@@ -12,7 +11,7 @@ const s = {
12
11
  namespace: "Payroll.OffCycle",
13
12
  onNavigate: ((e) => ({
14
13
  ...o(e, { currentBreadcrumbId: "createOffCyclePayroll" }),
15
- component: c,
14
+ component: t,
16
15
  payrollUuid: void 0
17
16
  }))
18
17
  }
@@ -21,27 +20,27 @@ const s = {
21
20
  function i(e) {
22
21
  return {
23
22
  ...o(e, { currentBreadcrumbId: "createOffCyclePayroll" }),
24
- component: c,
23
+ component: t,
25
24
  payrollUuid: void 0
26
25
  };
27
26
  }
28
- const d = l(
27
+ const d = c(
29
28
  n.BREADCRUMB_NAVIGATE,
30
29
  "createOffCyclePayroll",
31
- y(
30
+ f(
32
31
  (e, r) => r.payload.key === "createOffCyclePayroll"
33
32
  ),
34
- t(i)
35
- ), b = {
33
+ l(i)
34
+ ), s = {
36
35
  createOffCyclePayroll: a(
37
- l(
36
+ c(
38
37
  n.OFF_CYCLE_CREATED,
39
38
  "execution",
40
- t(
39
+ l(
41
40
  (e, r) => ({
42
41
  ...o(e, { currentBreadcrumbId: void 0 }),
43
42
  payrollUuid: r.payload?.payrollUuid,
44
- component: f
43
+ component: y
45
44
  })
46
45
  )
47
46
  )
@@ -49,7 +48,7 @@ const d = l(
49
48
  execution: a(d)
50
49
  };
51
50
  export {
52
- s as offCycleBreadcrumbsNodes,
53
- b as offCycleMachine
51
+ O as offCycleBreadcrumbsNodes,
52
+ s as offCycleMachine
54
53
  };
55
54
  //# sourceMappingURL=offCycleStateMachine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"offCycleStateMachine.js","sources":["../../../../src/components/Payroll/OffCycle/offCycleStateMachine.ts"],"sourcesContent":["import {\n OffCycleCreationContextual,\n OffCycleExecutionContextual,\n type OffCycleFlowContextInterface,\n} from './OffCycleFlowComponents'\nimport { state, transition, reduce, guard } from '@/lib/state-machine'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\n/** @internal */\nexport const offCycleBreadcrumbsNodes: BreadcrumbNodes = {\n createOffCyclePayroll: {\n parent: null,\n item: {\n id: 'createOffCyclePayroll',\n label: 'createOffCyclePayroll.breadcrumbLabel',\n namespace: 'Payroll.OffCycle',\n onNavigate: ((ctx: OffCycleFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toCreationReducer(ctx: OffCycleFlowContextInterface): OffCycleFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n }\n}\n\nconst creationBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'createOffCyclePayroll',\n guard(\n (_ctx: OffCycleFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'createOffCyclePayroll',\n ),\n reduce(toCreationReducer),\n)\n\n/** @internal */\nexport const offCycleMachine = {\n createOffCyclePayroll: state<MachineTransition>(\n transition(\n componentEvents.OFF_CYCLE_CREATED,\n 'execution',\n reduce(\n (\n ctx: OffCycleFlowContextInterface,\n ev: { payload?: { payrollUuid?: string } },\n ): OffCycleFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n payrollUuid: ev.payload?.payrollUuid,\n component: OffCycleExecutionContextual,\n }),\n ),\n ),\n ),\n\n execution: state<MachineTransition>(creationBreadcrumbTransition),\n}\n"],"names":["offCycleBreadcrumbsNodes","ctx","patchBreadcrumbsHeader","OffCycleCreationContextual","toCreationReducer","creationBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","offCycleMachine","state","OffCycleExecutionContextual"],"mappings":";;;;;AAYO,MAAMA,IAA4C;AAAA,EACvD,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACC,OAAuC;AAAA,QACnD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,QAC/E,WAAWE;AAAA,QACX,aAAa;AAAA,MAAA;AAAA,IACf;AAAA,EACF;AAEJ;AAEA,SAASC,EAAkBH,GAAiE;AAC1F,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,IAC/E,WAAWE;AAAA,IACX,aAAa;AAAA,EAAA;AAEjB;AAEA,MAAME,IAA+BC;AAAA,EACnCC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAoCC,MACnCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOP,CAAiB;AAC1B,GAGaQ,IAAkB;AAAA,EAC7B,uBAAuBC;AAAA,IACrBP;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEV,GACAS,OACkC;AAAA,UAClC,GAAGR,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,aAAaS,EAAG,SAAS;AAAA,UACzB,WAAWI;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAGF,WAAWD,EAAyBR,CAA4B;AAClE;"}
1
+ {"version":3,"file":"offCycleStateMachine.js","sources":["../../../../src/components/Payroll/OffCycle/offCycleStateMachine.ts"],"sourcesContent":["import { state, transition, reduce, guard } from 'robot3'\nimport {\n OffCycleCreationContextual,\n OffCycleExecutionContextual,\n type OffCycleFlowContextInterface,\n} from './OffCycleFlowComponents'\nimport { componentEvents } from '@/shared/constants'\nimport type { MachineTransition } from '@/types/Helpers'\nimport type { BreadcrumbNodes } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { patchBreadcrumbsHeader } from '@/helpers/breadcrumbHelpers'\n\n/** @internal */\nexport const offCycleBreadcrumbsNodes: BreadcrumbNodes = {\n createOffCyclePayroll: {\n parent: null,\n item: {\n id: 'createOffCyclePayroll',\n label: 'createOffCyclePayroll.breadcrumbLabel',\n namespace: 'Payroll.OffCycle',\n onNavigate: ((ctx: OffCycleFlowContextInterface) => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n })) as (context: unknown) => unknown,\n },\n },\n}\n\nfunction toCreationReducer(ctx: OffCycleFlowContextInterface): OffCycleFlowContextInterface {\n return {\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: 'createOffCyclePayroll' }),\n component: OffCycleCreationContextual,\n payrollUuid: undefined,\n }\n}\n\nconst creationBreadcrumbTransition = transition(\n componentEvents.BREADCRUMB_NAVIGATE,\n 'createOffCyclePayroll',\n guard(\n (_ctx: OffCycleFlowContextInterface, ev: { payload: { key: string } }) =>\n ev.payload.key === 'createOffCyclePayroll',\n ),\n reduce(toCreationReducer),\n)\n\n/** @internal */\nexport const offCycleMachine = {\n createOffCyclePayroll: state<MachineTransition>(\n transition(\n componentEvents.OFF_CYCLE_CREATED,\n 'execution',\n reduce(\n (\n ctx: OffCycleFlowContextInterface,\n ev: { payload?: { payrollUuid?: string } },\n ): OffCycleFlowContextInterface => ({\n ...patchBreadcrumbsHeader(ctx, { currentBreadcrumbId: undefined }),\n payrollUuid: ev.payload?.payrollUuid,\n component: OffCycleExecutionContextual,\n }),\n ),\n ),\n ),\n\n execution: state<MachineTransition>(creationBreadcrumbTransition),\n}\n"],"names":["offCycleBreadcrumbsNodes","ctx","patchBreadcrumbsHeader","OffCycleCreationContextual","toCreationReducer","creationBreadcrumbTransition","transition","componentEvents","guard","_ctx","ev","reduce","offCycleMachine","state","OffCycleExecutionContextual"],"mappings":";;;;AAYO,MAAMA,IAA4C;AAAA,EACvD,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa,CAACC,OAAuC;AAAA,QACnD,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,QAC/E,WAAWE;AAAA,QACX,aAAa;AAAA,MAAA;AAAA,IACf;AAAA,EACF;AAEJ;AAEA,SAASC,EAAkBH,GAAiE;AAC1F,SAAO;AAAA,IACL,GAAGC,EAAuBD,GAAK,EAAE,qBAAqB,yBAAyB;AAAA,IAC/E,WAAWE;AAAA,IACX,aAAa;AAAA,EAAA;AAEjB;AAEA,MAAME,IAA+BC;AAAA,EACnCC,EAAgB;AAAA,EAChB;AAAA,EACAC;AAAA,IACE,CAACC,GAAoCC,MACnCA,EAAG,QAAQ,QAAQ;AAAA,EAAA;AAAA,EAEvBC,EAAOP,CAAiB;AAC1B,GAGaQ,IAAkB;AAAA,EAC7B,uBAAuBC;AAAA,IACrBP;AAAA,MACEC,EAAgB;AAAA,MAChB;AAAA,MACAI;AAAA,QACE,CACEV,GACAS,OACkC;AAAA,UAClC,GAAGR,EAAuBD,GAAK,EAAE,qBAAqB,QAAW;AAAA,UACjE,aAAaS,EAAG,SAAS;AAAA,UACzB,WAAWI;AAAA,QAAA;AAAA,MACb;AAAA,IACF;AAAA,EACF;AAAA,EAGF,WAAWD,EAAyBR,CAA4B;AAClE;"}
@@ -1,13 +1,13 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
2
  import { useMemo as x } from "react";
3
- import { PayrollOverviewContextual as E, PayrollConfigurationContextual as v, SaveAndExitCta as M } from "../PayrollFlow/PayrollFlowComponents.js";
4
- import { payrollExecutionMachine as C, getPayrollExecutionBreadcrumbsNodes as g } from "./payrollExecutionMachine.js";
5
- import { createMachine as w } from "../../../lib/state-machine/core.js";
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
6
  import { Flow as A } from "../../Flow/Flow.js";
7
7
  import { buildBreadcrumbs as N, updateBreadcrumbs as O } from "../../../helpers/breadcrumbHelpers.js";
8
8
  const B = [], F = {
9
- configuration: v,
10
- overview: E
9
+ configuration: M,
10
+ overview: v
11
11
  }, I = {
12
12
  configuration: "Payroll.PayrollConfiguration",
13
13
  overview: "Payroll.PayrollOverview"
@@ -27,7 +27,7 @@ function _({
27
27
  initialState: o = "configuration"
28
28
  }) {
29
29
  const f = x(() => {
30
- const b = g(c), d = N(b), p = s.map(({ onNavigate: e, ...a }) => a), y = Object.fromEntries(
30
+ const b = w(c), d = N(b), p = s.map(({ onNavigate: e, ...a }) => a), y = Object.fromEntries(
31
31
  Object.entries(d).map(([e, a]) => [
32
32
  e,
33
33
  [...p, ...a]
@@ -38,7 +38,7 @@ function _({
38
38
  header: {
39
39
  type: "breadcrumbs",
40
40
  breadcrumbs: y,
41
- cta: M
41
+ cta: C
42
42
  }
43
43
  },
44
44
  {
@@ -46,9 +46,9 @@ function _({
46
46
  endDate: t?.endDate ?? ""
47
47
  }
48
48
  );
49
- return w(
49
+ return E(
50
50
  o,
51
- C,
51
+ g,
52
52
  (e) => ({
53
53
  ...e,
54
54
  ...P,
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollExecutionFlow.js","sources":["../../../../src/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\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 { createMachine } from '@/lib/state-machine'\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
+ {"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;"}
@@ -3,9 +3,9 @@ import { BreadcrumbNodes } from '../../Common/FlowBreadcrumbs/FlowBreadcrumbsTyp
3
3
  export declare const getPayrollExecutionBreadcrumbsNodes: (isDismissal?: boolean) => BreadcrumbNodes;
4
4
  /** @internal */
5
5
  export declare const payrollExecutionMachine: {
6
- configuration: import('../../../lib/state-machine').StateDefinition;
7
- overview: import('../../../lib/state-machine').StateDefinition;
8
- editEmployee: import('../../../lib/state-machine').StateDefinition;
9
- receipts: import('../../../lib/state-machine').StateDefinition;
10
- blockers: import('../../../lib/state-machine').StateDefinition;
6
+ configuration: import('robot3').MachineState<any>;
7
+ overview: import('robot3').MachineState<any>;
8
+ editEmployee: import('robot3').MachineState<any>;
9
+ receipts: import('robot3').MachineState<any>;
10
+ blockers: import('robot3').MachineState<any>;
11
11
  };