@gusto/embedded-react-sdk 0.48.3 → 0.49.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 (637) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +8 -8
  3. package/dist/components/Base/Base.d.ts +11 -3
  4. package/dist/components/Base/Base.js.map +1 -1
  5. package/dist/components/Base/index.d.ts +1 -1
  6. package/dist/components/Common/DataView/DataTable/DataTable.js +21 -21
  7. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  8. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +16 -15
  9. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  10. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +1 -0
  11. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
  12. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
  13. package/dist/components/Common/PaginationControl/PaginationControl.js +9 -8
  14. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  15. package/dist/components/Common/TaxInputs/TaxInputs.js +104 -102
  16. package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
  17. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  18. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  19. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  20. package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
  21. package/dist/components/Common/UI/NumberInput/NumberInput.d.ts +1 -1
  22. package/dist/components/Common/UI/NumberInput/NumberInput.js +87 -80
  23. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  24. package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +4 -0
  25. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  26. package/dist/components/Common/UI/Select/Select.js +28 -28
  27. package/dist/components/Common/UI/Select/Select.js.map +1 -1
  28. package/dist/components/Common/UI/Select/SelectTypes.d.ts +3 -2
  29. package/dist/components/Common/UI/Tabs/Tabs.js +9 -8
  30. package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -1
  31. package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +1 -0
  32. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  33. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +4 -4
  34. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  35. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  36. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  37. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +4 -3
  38. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  39. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  40. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  41. package/dist/components/Company/AssignSignatory/TitleSelect.js +9 -8
  42. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  43. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  44. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  45. package/dist/components/Company/BankAccount/BankAccount.d.ts +3 -2
  46. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  47. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +3 -3
  48. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  49. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  50. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  51. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +3 -3
  52. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  53. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +3 -3
  54. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  55. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -2
  56. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  57. package/dist/components/Company/DocumentSigner/DocumentList/index.d.ts +1 -1
  58. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  59. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  60. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +6 -5
  61. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  62. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +1 -0
  63. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  64. package/dist/components/Company/DocumentSigner/assignSignatoryState.js +4 -6
  65. package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
  66. package/dist/components/Company/DocumentSigner/index.d.ts +1 -1
  67. package/dist/components/Company/DocumentSigner/stateMachine.js +12 -18
  68. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  69. package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +15 -6
  70. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  71. package/dist/components/Company/FederalTaxes/Form.js +23 -21
  72. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  73. package/dist/components/Company/FederalTaxes/index.d.ts +2 -0
  74. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +10 -6
  75. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  76. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  77. package/dist/components/Company/Industry/Context.js +6 -7
  78. package/dist/components/Company/Industry/Context.js.map +1 -1
  79. package/dist/components/Company/Industry/Industry.d.ts +5 -7
  80. package/dist/components/Company/Industry/Industry.js.map +1 -1
  81. package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +11 -4
  82. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  83. package/dist/components/Company/Locations/LocationForm/index.d.ts +1 -0
  84. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  85. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  86. package/dist/components/Company/Locations/Locations.d.ts +1 -0
  87. package/dist/components/Company/Locations/Locations.js.map +1 -1
  88. package/dist/components/Company/Locations/LocationsList/List.js +20 -20
  89. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  90. package/dist/components/Company/Locations/LocationsList/List.module.scss.js +1 -1
  91. package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +2 -1
  92. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  93. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  94. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  95. package/dist/components/Company/Locations/stateMachine.js +4 -6
  96. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  97. package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +38 -1
  98. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  99. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +14 -3
  100. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +30 -23
  101. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +10 -4
  103. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  104. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  105. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  106. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +4 -3
  107. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  108. package/dist/components/Company/PaySchedule/PayScheduleForm.js +6 -4
  109. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  110. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +10 -14
  111. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  112. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +1 -0
  113. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  114. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +29 -25
  115. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  116. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +11 -4
  117. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +55 -54
  118. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  119. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +10 -0
  120. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js +11 -0
  121. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -0
  122. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.test.d.ts +1 -0
  123. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  124. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  125. package/dist/components/Company/StateTaxes/StateTaxesForm/index.d.ts +1 -1
  126. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +2 -3
  127. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
  128. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +7 -2
  129. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  130. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  131. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  132. package/dist/components/Company/StateTaxes/StateTaxesList/index.d.ts +1 -1
  133. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +5 -7
  134. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  135. package/dist/components/Company/exports/companyOnboarding.d.ts +11 -11
  136. package/dist/components/Contractor/Address/Address.d.ts +14 -8
  137. package/dist/components/Contractor/Address/Address.js +83 -64
  138. package/dist/components/Contractor/Address/Address.js.map +1 -1
  139. package/dist/components/Contractor/Address/Address.module.scss.js +8 -0
  140. package/dist/components/Contractor/Address/Address.module.scss.js.map +1 -0
  141. package/dist/components/Contractor/Address/index.d.ts +1 -0
  142. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +59 -0
  143. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js +32 -0
  144. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js.map +1 -0
  145. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.d.ts +111 -0
  146. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js +26 -0
  147. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js.map +1 -0
  148. package/dist/components/Contractor/Address/shared/useContractorAddressForm/index.d.ts +6 -0
  149. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +112 -0
  150. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +133 -0
  151. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -0
  152. package/dist/components/Contractor/Address/types.d.ts +8 -0
  153. package/dist/components/Contractor/ContractorList/index.d.ts +4 -4
  154. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  155. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +29 -0
  156. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +71 -0
  157. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -0
  158. package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +3 -0
  159. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/index.d.ts +2 -0
  160. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +59 -0
  161. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +20 -0
  162. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
  163. package/dist/components/Contractor/Landing/Landing.d.ts +19 -0
  164. package/dist/components/Contractor/Landing/Landing.js +73 -0
  165. package/dist/components/Contractor/Landing/Landing.js.map +1 -0
  166. package/dist/components/Contractor/Landing/index.d.ts +2 -0
  167. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +1 -0
  168. package/dist/components/Contractor/NewHireReport/NewHireReport.js +7 -7
  169. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  170. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +20 -8
  171. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  172. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +4 -4
  173. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  174. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.d.ts +23 -0
  175. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +36 -0
  176. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -0
  177. package/dist/components/Contractor/OnboardingSummary/index.d.ts +2 -0
  178. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +1 -1
  179. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  180. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +11 -1
  181. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  182. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +59 -53
  183. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  184. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +70 -91
  185. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  186. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +62 -56
  187. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  188. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +11 -2
  189. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  190. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +1 -1
  191. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  192. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +7 -0
  193. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  194. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +54 -51
  195. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  196. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +20 -22
  197. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  198. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
  199. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  200. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +109 -102
  201. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  202. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +1 -1
  203. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  204. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +86 -65
  205. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  206. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.d.ts +8 -0
  207. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +79 -0
  208. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -0
  209. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +52 -10
  210. package/dist/components/Contractor/Profile/ContractorProfile.js +205 -31
  211. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  212. package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js +8 -0
  213. package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js.map +1 -0
  214. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.d.ts +8 -0
  215. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +96 -0
  216. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -0
  217. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.d.ts +22 -0
  218. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +40 -0
  219. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -0
  220. package/dist/components/Contractor/Profile/index.d.ts +1 -1
  221. package/dist/components/Contractor/Profile/shared/index.d.ts +2 -0
  222. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +125 -0
  223. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +73 -0
  224. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -0
  225. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.test.d.ts +1 -0
  226. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +312 -0
  227. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +87 -0
  228. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -0
  229. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +6 -0
  230. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +151 -0
  231. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +188 -0
  232. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -0
  233. package/dist/components/Contractor/Submit/Submit.d.ts +4 -4
  234. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  235. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +6 -3
  236. package/dist/components/Contractor/exports/contractorOnboarding.js +14 -8
  237. package/dist/components/Contractor/exports/contractorOnboarding.js.map +1 -1
  238. package/dist/components/Employee/Compensation/management/Compensation.d.ts +4 -7
  239. package/dist/components/Employee/Compensation/management/Compensation.js +1 -5
  240. package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
  241. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +1 -0
  242. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
  243. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +1 -0
  244. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  245. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +1 -0
  246. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  247. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -0
  248. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  249. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +13 -10
  250. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  251. package/dist/components/Employee/Compensation/management/compensationStateMachine.js +23 -31
  252. package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
  253. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +1 -0
  254. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  255. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +1 -0
  256. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  257. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -3
  258. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
  259. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +20 -28
  260. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
  261. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +13 -10
  262. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  263. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  264. package/dist/components/Employee/Dashboard/Dashboard.d.ts +29 -4
  265. package/dist/components/Employee/Dashboard/Dashboard.js +1 -4
  266. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  267. package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +20 -14
  268. package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
  269. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +78 -108
  270. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  271. package/dist/components/Employee/Deductions/management/Deductions.d.ts +4 -7
  272. package/dist/components/Employee/Deductions/management/Deductions.js +1 -5
  273. package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
  274. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +1 -0
  275. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  276. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +4 -3
  277. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +1 -4
  278. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  279. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +17 -23
  280. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
  281. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -0
  282. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  283. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +25 -35
  284. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  285. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +40 -37
  286. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  287. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +1 -0
  288. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  289. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  290. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  291. package/dist/components/Employee/Documents/management/DocumentManager.d.ts +19 -4
  292. package/dist/components/Employee/Documents/management/DocumentManager.js +4 -1
  293. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  294. package/dist/components/Employee/Documents/management/Documents.d.ts +4 -7
  295. package/dist/components/Employee/Documents/management/Documents.js +1 -5
  296. package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
  297. package/dist/components/Employee/Documents/management/documentsStateMachine.js +5 -7
  298. package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
  299. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +2 -1
  300. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  301. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  302. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  303. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +8 -1
  304. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  305. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +1 -0
  306. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  307. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +3 -2
  308. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  309. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +1 -4
  310. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  311. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +3 -2
  312. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  313. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +5 -8
  314. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  315. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +18 -3
  316. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +21 -18
  317. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  318. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -1
  319. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +47 -46
  320. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  321. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  322. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +8 -2
  323. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  324. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +1 -1
  325. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
  326. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +5 -7
  327. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  328. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +4 -7
  329. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +1 -5
  330. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
  331. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +4 -5
  332. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +1 -4
  333. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  334. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +14 -20
  335. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
  336. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +4 -3
  337. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +1 -4
  338. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  339. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +1 -1
  340. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +7 -11
  341. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +1 -5
  342. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  343. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +1 -0
  344. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
  345. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +7 -9
  346. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +1 -4
  347. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  348. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -0
  349. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  350. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +8 -12
  351. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
  352. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  353. package/dist/components/Employee/Landing/Landing.d.ts +10 -4
  354. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  355. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +19 -5
  356. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
  357. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -0
  358. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
  359. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  360. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +32 -12
  361. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +19 -17
  362. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  363. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +23 -16
  364. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  365. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +11 -15
  366. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  367. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +10 -4
  368. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  369. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +3 -7
  370. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +1 -5
  371. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
  372. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +1 -0
  373. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
  374. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +1 -0
  375. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
  376. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
  377. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +1 -0
  378. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
  379. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +15 -21
  380. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
  381. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +4 -7
  382. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +1 -5
  383. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  384. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +24 -36
  385. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
  386. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  387. package/dist/components/Employee/Profile/management/Profile.d.ts +5 -8
  388. package/dist/components/Employee/Profile/management/Profile.js +1 -5
  389. package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
  390. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +1 -0
  391. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  392. package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +5 -6
  393. package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -4
  394. package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
  395. package/dist/components/Employee/Profile/management/profileStateMachine.js +14 -20
  396. package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
  397. package/dist/components/Employee/Profile/onboarding/AdminProfile.js +55 -54
  398. package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
  399. package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js +3 -5
  400. package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js.map +1 -1
  401. package/dist/components/Employee/Profile/onboarding/Profile.d.ts +11 -12
  402. package/dist/components/Employee/Profile/onboarding/Profile.js +1 -5
  403. package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
  404. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
  405. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
  406. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
  407. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
  408. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  409. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +19 -5
  410. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  411. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +12 -18
  412. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  413. package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +4 -9
  414. package/dist/components/Employee/StateTaxes/management/StateTaxes.js +1 -5
  415. package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
  416. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +1 -0
  417. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  418. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +5 -8
  419. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +1 -4
  420. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  421. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +14 -20
  422. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
  423. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +5 -8
  424. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +1 -4
  425. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  426. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +29 -29
  427. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
  428. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +1 -1
  429. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  430. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +1 -0
  431. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  432. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +16 -5
  433. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  434. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -1
  435. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  436. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +5 -7
  437. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  438. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +1 -0
  439. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  440. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +7 -11
  441. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +1 -5
  442. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  443. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +1 -0
  444. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
  445. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +7 -9
  446. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +1 -4
  447. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  448. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +97 -95
  449. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  450. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  451. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +8 -12
  452. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
  453. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
  454. package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
  455. package/dist/components/Flow/Flow.js +1 -1
  456. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +1 -0
  457. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  458. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +1 -0
  459. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  460. package/dist/components/InformationRequests/InformationRequests.d.ts +26 -1
  461. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  462. package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -14
  463. package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
  464. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +3 -4
  465. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +2 -11
  466. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  467. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +0 -1
  468. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -0
  469. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  470. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +11 -17
  471. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  472. package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +1 -3
  473. package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +25 -1
  474. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  475. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +1 -0
  476. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  477. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  478. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  479. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +18 -4
  480. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  481. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -1
  482. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  483. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +1 -0
  484. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  485. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +1 -0
  486. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  487. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +21 -20
  488. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  489. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
  490. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  491. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -2
  492. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  493. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +28 -3
  494. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  495. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -46
  496. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  497. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +25 -24
  498. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  499. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +13 -3
  500. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  501. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -2
  502. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  503. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +34 -44
  504. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  505. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +1 -0
  506. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  507. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +12 -2
  508. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  509. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +8 -10
  510. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  511. package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -1
  512. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  513. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -0
  514. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +112 -112
  515. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  516. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  517. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +4 -6
  518. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  519. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +2 -1
  520. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +5 -9
  521. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  522. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +0 -1
  523. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  524. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +0 -1
  525. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  526. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +10 -14
  527. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
  528. package/dist/components/Payroll/Transition/TransitionFlow.d.ts +27 -1
  529. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  530. package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +1 -1
  531. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  532. package/dist/components/Payroll/usePreparedPayrollData.js +8 -9
  533. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  534. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +2 -2
  535. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  536. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -1
  537. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  538. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +1 -1
  539. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  540. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +2 -2
  541. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  542. package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
  543. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  544. package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +2 -1
  545. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  546. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +1 -0
  547. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  548. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +28 -1
  549. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
  550. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
  551. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  552. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +128 -174
  553. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  554. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
  555. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  556. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +9 -7
  557. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  558. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +2 -1
  559. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  560. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +2 -1
  561. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
  562. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +2 -2
  563. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
  564. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +2 -2
  565. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
  566. package/dist/components/index.d.ts +9 -0
  567. package/dist/contexts/ThemeProvider/types.d.ts +19 -0
  568. package/dist/i18n/I18n.js +5 -2
  569. package/dist/i18n/I18n.js.map +1 -1
  570. package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
  571. package/dist/i18n/en/Company.FederalTaxes.json.js +27 -23
  572. package/dist/i18n/en/Company.FederalTaxes.json.js.map +1 -1
  573. package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
  574. package/dist/i18n/en/Contractor.Address.json.js +13 -13
  575. package/dist/i18n/en/Contractor.DocumentsList.json.js +28 -0
  576. package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -0
  577. package/dist/i18n/en/Contractor.Landing.json.js +18 -0
  578. package/dist/i18n/en/Contractor.Landing.json.js.map +1 -0
  579. package/dist/i18n/en/Contractor.NewHireReport.json.js +12 -10
  580. package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -1
  581. package/dist/i18n/en/Contractor.OnboardingSummary.json.js +12 -0
  582. package/dist/i18n/en/Contractor.OnboardingSummary.json.js.map +1 -0
  583. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +13 -13
  584. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +10 -6
  585. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -1
  586. package/dist/i18n/en/Contractor.Profile.json.js +8 -6
  587. package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
  588. package/dist/i18n/en/Employee.Compensation.json.js +56 -50
  589. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  590. package/dist/i18n/en/Employee.DeductionsForm.json.js +8 -8
  591. package/dist/i18n/en/Employee.EmploymentEligibility.json.js +1 -1
  592. package/dist/i18n/en/Employee.Management.Compensation.json.js +48 -42
  593. package/dist/i18n/en/Employee.Management.Compensation.json.js.map +1 -1
  594. package/dist/i18n/en/Employee.Management.HomeAddress.json.js +1 -1
  595. package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +1 -1
  596. package/dist/i18n/en/Payroll.PayrollOverview.json.js +40 -38
  597. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  598. package/dist/i18n/en/common.json.d.ts +1 -0
  599. package/dist/i18n/en/common.json.js +34 -32
  600. package/dist/i18n/en/common.json.js.map +1 -1
  601. package/dist/index.d.ts +17 -1
  602. package/dist/index.js +239 -205
  603. package/dist/index.js.map +1 -1
  604. package/dist/models/external.d.ts +293 -0
  605. package/dist/partner-hook-utils/form/FormFieldsMetadataContext.js +3 -3
  606. package/dist/partner-hook-utils/form/buildFormSchema.d.ts +14 -1
  607. package/dist/partner-hook-utils/form/buildFormSchema.js +41 -40
  608. package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
  609. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  610. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
  611. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  612. package/dist/shared/constants.d.ts +10 -1
  613. package/dist/shared/constants.js +9 -5
  614. package/dist/shared/constants.js.map +1 -1
  615. package/dist/style.css +1 -1
  616. package/dist/types/Helpers.d.ts +19 -2
  617. package/dist/types/i18next.d.ts +66 -5
  618. package/docs/{reference → appendix}/endpoint-inventory.json +27 -0
  619. package/package.json +21 -22
  620. package/dist/components/Contractor/Address/Actions.d.ts +0 -2
  621. package/dist/components/Contractor/Address/Actions.js +0 -13
  622. package/dist/components/Contractor/Address/Actions.js.map +0 -1
  623. package/dist/components/Contractor/Address/Form.d.ts +0 -2
  624. package/dist/components/Contractor/Address/Form.js +0 -51
  625. package/dist/components/Contractor/Address/Form.js.map +0 -1
  626. package/dist/components/Contractor/Address/Head.d.ts +0 -2
  627. package/dist/components/Contractor/Address/Head.js +0 -17
  628. package/dist/components/Contractor/Address/Head.js.map +0 -1
  629. package/dist/components/Contractor/Address/useAddress.d.ts +0 -28
  630. package/dist/components/Contractor/Address/useAddress.js +0 -31
  631. package/dist/components/Contractor/Address/useAddress.js.map +0 -1
  632. package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +0 -9
  633. package/dist/components/Contractor/Profile/ContractorProfileForm.js +0 -143
  634. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +0 -1
  635. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +0 -205
  636. package/dist/components/Contractor/Profile/useContractorProfile.js +0 -237
  637. package/dist/components/Contractor/Profile/useContractorProfile.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleCreation.js","sources":["../../../../src/components/Payroll/OffCycleCreation/OffCycleCreation.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react'\nimport { FormProvider, useForm, type Resolver } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsCreateOffCycle'\nimport {\n OffCycleReason as ApiOffCycleReason,\n WithholdingPayPeriod,\n} from '@gusto/embedded-api-v-2025-11-15/models/operations/postv1companiescompanyidpayrolls'\nimport { RFCDate } from '@gusto/embedded-api-v-2025-11-15/types/rfcdate'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport { OFF_CYCLE_REASON_DEFAULTS, type OffCycleReason } from '../OffCycleReasonSelection'\nimport {\n createOffCyclePayPeriodDateFormSchema,\n type OffCyclePayrollDateType,\n} from '../OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes'\nimport { useOffCyclePayPeriodDateValidation } from '../OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { OffCycleCreationFormData, OffCycleCreationProps } from './OffCycleCreationTypes'\nimport { OffCycleCreationPresentation } from './OffCycleCreationPresentation'\nimport { useCompanyPaymentSpeed } from '@/hooks/useCompanyPaymentSpeed'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { Form } from '@/components/Common/Form'\nimport type { MultiSelectComboBoxOption } from '@/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes'\n\nconst LOCAL_TO_API_REASON: Record<OffCycleReason, ApiOffCycleReason> = {\n bonus: ApiOffCycleReason.Bonus,\n correction: ApiOffCycleReason.Correction,\n}\n\n/**\n * Creation form for off-cycle (bonus or correction) payrolls.\n *\n * Walks the user through configuring pay period dates, selecting a reason, choosing\n * employees, and setting deduction and tax withholding preferences, then submits the\n * resulting payroll for execution.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `offCycle/created` | The off-cycle payroll has been created | `{ payrollUuid: string }` |\n *\n * Changing the reason updates the deduction and withholding defaults — `'bonus'` skips\n * regular deductions and uses the supplemental withholding rate; `'correction'` includes\n * regular deductions and uses the regular rate.\n *\n * @param props - {@link OffCycleCreationProps} plus base component props.\n * @returns The off-cycle payroll creation form.\n * @public\n */\nexport function OffCycleCreation(props: OffCycleCreationProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ dictionary, companyId, payrollType = 'bonus' }: OffCycleCreationProps) {\n useComponentDictionary('Payroll.OffCycleCreation', dictionary)\n useI18n('Payroll.OffCycleCreation')\n useI18n('Payroll.OffCycleReasonSelection')\n useI18n('Payroll.OffCyclePayPeriodDateForm')\n useI18n('Payroll.OffCycleDeductionsSetting')\n useI18n('Payroll.EmployeeSelection')\n\n const { t } = useTranslation('Payroll.OffCyclePayPeriodDateForm')\n const { t: tCreation } = useTranslation('Payroll.OffCycleCreation')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { paymentSpeedDays } = useCompanyPaymentSpeed(companyId)\n\n const { minCheckDate, today } = useOffCyclePayPeriodDateValidation(paymentSpeedDays)\n const { mutateAsync: createOffCyclePayroll, isPending } = usePayrollsCreateOffCycleMutation()\n\n const [taxWithholdingConfig, setTaxWithholdingConfig] = useState<OffCycleTaxWithholdingConfig>({\n withholdingPayPeriod: WithholdingPayPeriod.EveryOtherWeek,\n withholdingRate: OFF_CYCLE_REASON_DEFAULTS[payrollType].withholdingType,\n })\n const [isTaxWithholdingModalOpen, setIsTaxWithholdingModalOpen] = useState(false)\n\n const handleTaxWithholdingEditClick = useCallback(() => {\n setIsTaxWithholdingModalOpen(true)\n }, [])\n\n const handleTaxWithholdingModalDone = useCallback((config: OffCycleTaxWithholdingConfig) => {\n setTaxWithholdingConfig(config)\n setIsTaxWithholdingModalOpen(false)\n }, [])\n\n const handleTaxWithholdingModalCancel = useCallback(() => {\n setIsTaxWithholdingModalOpen(false)\n }, [])\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n onboardedActive: true,\n })\n\n const employees: MultiSelectComboBoxOption[] = useMemo(() => {\n const employeeList = employeesData.showEmployees ?? []\n return [...employeeList]\n .sort((a, b) => {\n const lastNameComparison = a.lastName.localeCompare(b.lastName)\n if (lastNameComparison !== 0) return lastNameComparison\n return a.firstName.localeCompare(b.firstName)\n })\n .map(employee => {\n const fullName = [employee.firstName, employee.lastName].filter(Boolean).join(' ')\n return {\n label: fullName,\n value: employee.uuid,\n }\n })\n }, [employeesData])\n\n const translateValidation = (key: string, options?: Record<string, unknown>): string =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n t(key as any, options as any) as string\n\n const dynamicResolver: Resolver<OffCycleCreationFormData> = (values, context, options) => {\n const reason = values.reason\n const isCheckOnly = values.isCheckOnly\n const resolvedPayrollType: OffCyclePayrollDateType =\n reason === 'correction' ? 'correction' : payrollType\n\n const dateSchema = createOffCyclePayPeriodDateFormSchema(\n translateValidation,\n resolvedPayrollType,\n isCheckOnly ? today : minCheckDate,\n paymentSpeedDays,\n )\n const schema = z\n .object({\n reason: z.enum(['bonus', 'correction']),\n skipRegularDeductions: z.boolean(),\n includeAllEmployees: z.boolean(),\n selectedEmployeeUuids: z.array(z.string()),\n })\n .and(dateSchema)\n .superRefine((data, ctx) => {\n if (!data.includeAllEmployees && data.selectedEmployeeUuids.length === 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['selectedEmployeeUuids'],\n message: tCreation('errors.noEmployeesSelected'),\n })\n }\n })\n\n return zodResolver(schema)(values, context, options)\n }\n\n const methods = useForm<OffCycleCreationFormData>({\n resolver: dynamicResolver,\n defaultValues: {\n reason: payrollType,\n isCheckOnly: false,\n startDate: null,\n endDate: null,\n checkDate: null,\n skipRegularDeductions: OFF_CYCLE_REASON_DEFAULTS[payrollType].skipDeductions,\n includeAllEmployees: false,\n selectedEmployeeUuids: [],\n },\n })\n\n const watchedReason = methods.watch('reason')\n\n useEffect(() => {\n methods.setValue(\n 'skipRegularDeductions',\n OFF_CYCLE_REASON_DEFAULTS[watchedReason].skipDeductions,\n )\n setTaxWithholdingConfig(prev => ({\n ...prev,\n withholdingRate: OFF_CYCLE_REASON_DEFAULTS[watchedReason].withholdingType,\n }))\n }, [watchedReason, methods])\n\n const onSubmit = async (data: OffCycleCreationFormData) => {\n const reason = data.reason\n const checkDate = data.checkDate!\n const startDate = data.startDate!\n const endDate = data.endDate!\n const employeeUuids = data.includeAllEmployees\n ? employees.map(e => e.value)\n : data.selectedEmployeeUuids.length > 0\n ? data.selectedEmployeeUuids\n : undefined\n\n await baseSubmitHandler(data, async () => {\n const response = await createOffCyclePayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: LOCAL_TO_API_REASON[reason],\n startDate: new RFCDate(startDate),\n endDate: new RFCDate(endDate),\n checkDate: new RFCDate(checkDate),\n skipRegularDeductions: data.skipRegularDeductions,\n isCheckOnlyPayroll: data.isCheckOnly,\n employeeUuids,\n withholdingPayPeriod: taxWithholdingConfig.withholdingPayPeriod,\n fixedWithholdingRate: taxWithholdingConfig.withholdingRate === 'supplemental',\n },\n },\n })\n\n const payrollUuid =\n response.payrollUnprocessed?.payrollUuid ?? response.payrollUnprocessed?.uuid\n\n if (!payrollUuid) {\n throw new SDKInternalError(tCreation('errors.missingPayrollId'))\n }\n\n onEvent(componentEvents.OFF_CYCLE_CREATED, { payrollUuid })\n })\n }\n\n return (\n <FormProvider {...methods}>\n <Form onSubmit={methods.handleSubmit(onSubmit)}>\n <OffCycleCreationPresentation\n employees={employees}\n isPending={isPending}\n taxWithholdingConfig={taxWithholdingConfig}\n isTaxWithholdingModalOpen={isTaxWithholdingModalOpen}\n onTaxWithholdingEditClick={handleTaxWithholdingEditClick}\n onTaxWithholdingModalDone={handleTaxWithholdingModalDone}\n onTaxWithholdingModalCancel={handleTaxWithholdingModalCancel}\n />\n </Form>\n </FormProvider>\n )\n}\n"],"names":["LOCAL_TO_API_REASON","ApiOffCycleReason","OffCycleCreation","props","jsx","BaseComponent","Root","dictionary","companyId","payrollType","useComponentDictionary","useI18n","t","useTranslation","tCreation","onEvent","baseSubmitHandler","useBase","paymentSpeedDays","useCompanyPaymentSpeed","minCheckDate","today","useOffCyclePayPeriodDateValidation","createOffCyclePayroll","isPending","usePayrollsCreateOffCycleMutation","taxWithholdingConfig","setTaxWithholdingConfig","useState","WithholdingPayPeriod","OFF_CYCLE_REASON_DEFAULTS","isTaxWithholdingModalOpen","setIsTaxWithholdingModalOpen","handleTaxWithholdingEditClick","useCallback","handleTaxWithholdingModalDone","config","handleTaxWithholdingModalCancel","employeesData","useEmployeesListSuspense","employees","useMemo","a","b","lastNameComparison","employee","translateValidation","key","options","methods","useForm","values","context","reason","isCheckOnly","dateSchema","createOffCyclePayPeriodDateFormSchema","schema","z","data","ctx","zodResolver","watchedReason","useEffect","prev","onSubmit","checkDate","startDate","endDate","employeeUuids","e","response","RFCDate","payrollUuid","SDKInternalError","componentEvents","FormProvider","Form","OffCycleCreationPresentation"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMA,KAAiE;AAAA,EACrE,OAAOC,EAAkB;AAAA,EACzB,YAAYA,EAAkB;AAChC;AAsBO,SAASC,GAAiBC,GAA8B;AAC7D,SACE,gBAAAC,EAACC,MAAe,GAAGF,GACjB,4BAACG,IAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,GAAK,EAAE,YAAAC,GAAY,WAAAC,GAAW,aAAAC,IAAc,WAAkC;AACrF,EAAAC,GAAuB,4BAA4BH,CAAU,GAC7DI,EAAQ,0BAA0B,GAClCA,EAAQ,iCAAiC,GACzCA,EAAQ,mCAAmC,GAC3CA,EAAQ,mCAAmC,GAC3CA,EAAQ,2BAA2B;AAEnC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,mCAAmC,GAC1D,EAAE,GAAGC,MAAcD,EAAe,0BAA0B,GAC5D,EAAE,SAAAE,GAAS,mBAAAC,EAAA,IAAsBC,GAAA,GAEjC,EAAE,kBAAAC,EAAA,IAAqBC,GAAuBX,CAAS,GAEvD,EAAE,cAAAY,GAAc,OAAAC,MAAUC,EAAmCJ,CAAgB,GAC7E,EAAE,aAAaK,GAAuB,WAAAC,EAAA,IAAcC,EAAA,GAEpD,CAACC,GAAsBC,CAAuB,IAAIC,EAAuC;AAAA,IAC7F,sBAAsBC,EAAqB;AAAA,IAC3C,iBAAiBC,EAA0BrB,CAAW,EAAE;AAAA,EAAA,CACzD,GACK,CAACsB,GAA2BC,CAA4B,IAAIJ,EAAS,EAAK,GAE1EK,IAAgCC,EAAY,MAAM;AACtD,IAAAF,EAA6B,EAAI;AAAA,EACnC,GAAG,CAAA,CAAE,GAECG,IAAgCD,EAAY,CAACE,MAAyC;AAC1F,IAAAT,EAAwBS,CAAM,GAC9BJ,EAA6B,EAAK;AAAA,EACpC,GAAG,CAAA,CAAE,GAECK,IAAkCH,EAAY,MAAM;AACxD,IAAAF,EAA6B,EAAK;AAAA,EACpC,GAAG,CAAA,CAAE,GAEC,EAAE,MAAMM,EAAA,IAAkBC,EAAyB;AAAA,IACvD,WAAA/B;AAAA,IACA,iBAAiB;AAAA,EAAA,CAClB,GAEKgC,IAAyCC,EAAQ,MAE9C,CAAC,GADaH,EAAc,iBAAiB,CAAA,CAC7B,EACpB,KAAK,CAACI,GAAGC,MAAM;AACd,UAAMC,IAAqBF,EAAE,SAAS,cAAcC,EAAE,QAAQ;AAC9D,WAAIC,MAAuB,IAAUA,IAC9BF,EAAE,UAAU,cAAcC,EAAE,SAAS;AAAA,EAC9C,CAAC,EACA,IAAI,CAAAE,OAEI;AAAA,IACL,OAFe,CAACA,EAAS,WAAWA,EAAS,QAAQ,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,IAG/E,OAAOA,EAAS;AAAA,EAAA,EAEnB,GACF,CAACP,CAAa,CAAC,GAEZQ,IAAsB,CAACC,GAAaC;AAAA;AAAA,IAExCpC,EAAEmC,GAAYC,CAAc;AAAA,KAmCxBC,IAAUC,EAAkC;AAAA,IAChD,UAlC0D,CAACC,GAAQC,GAASJ,MAAY;AACxF,YAAMK,IAASF,EAAO,QAChBG,IAAcH,EAAO,aAIrBI,IAAaC;AAAA,QACjBV;AAAA,QAHAO,MAAW,eAAe,eAAe5C;AAAA,QAKzC6C,IAAcjC,IAAQD;AAAA,QACtBF;AAAA,MAAA,GAEIuC,IAASC,EACZ,OAAO;AAAA,QACN,QAAQA,EAAE,KAAK,CAAC,SAAS,YAAY,CAAC;AAAA,QACtC,uBAAuBA,EAAE,QAAA;AAAA,QACzB,qBAAqBA,EAAE,QAAA;AAAA,QACvB,uBAAuBA,EAAE,MAAMA,EAAE,QAAQ;AAAA,MAAA,CAC1C,EACA,IAAIH,CAAU,EACd,YAAY,CAACI,GAAMC,MAAQ;AAC1B,QAAI,CAACD,EAAK,uBAAuBA,EAAK,sBAAsB,WAAW,KACrEC,EAAI,SAAS;AAAA,UACX,MAAMF,EAAE,aAAa;AAAA,UACrB,MAAM,CAAC,uBAAuB;AAAA,UAC9B,SAAS5C,EAAU,4BAA4B;AAAA,QAAA,CAChD;AAAA,MAEL,CAAC;AAEH,aAAO+C,EAAYJ,CAAM,EAAEN,GAAQC,GAASJ,CAAO;AAAA,IACrD;AAAA,IAIE,eAAe;AAAA,MACb,QAAQvC;AAAA,MACR,aAAa;AAAA,MACb,WAAW;AAAA,MACX,SAAS;AAAA,MACT,WAAW;AAAA,MACX,uBAAuBqB,EAA0BrB,CAAW,EAAE;AAAA,MAC9D,qBAAqB;AAAA,MACrB,uBAAuB,CAAA;AAAA,IAAC;AAAA,EAC1B,CACD,GAEKqD,IAAgBb,EAAQ,MAAM,QAAQ;AAE5C,EAAAc,EAAU,MAAM;AACd,IAAAd,EAAQ;AAAA,MACN;AAAA,MACAnB,EAA0BgC,CAAa,EAAE;AAAA,IAAA,GAE3CnC,EAAwB,CAAAqC,OAAS;AAAA,MAC/B,GAAGA;AAAA,MACH,iBAAiBlC,EAA0BgC,CAAa,EAAE;AAAA,IAAA,EAC1D;AAAA,EACJ,GAAG,CAACA,GAAeb,CAAO,CAAC;AAE3B,QAAMgB,IAAW,OAAON,MAAmC;AACzD,UAAMN,IAASM,EAAK,QACdO,IAAYP,EAAK,WACjBQ,IAAYR,EAAK,WACjBS,IAAUT,EAAK,SACfU,IAAgBV,EAAK,sBACvBnB,EAAU,IAAI,CAAA8B,MAAKA,EAAE,KAAK,IAC1BX,EAAK,sBAAsB,SAAS,IAClCA,EAAK,wBACL;AAEN,UAAM3C,EAAkB2C,GAAM,YAAY;AACxC,YAAMY,IAAW,MAAMhD,EAAsB;AAAA,QAC3C,SAAS;AAAA,UACP,WAAAf;AAAA,UACA,aAAa;AAAA,YACX,UAAU;AAAA,YACV,gBAAgBR,GAAoBqD,CAAM;AAAA,YAC1C,WAAW,IAAImB,EAAQL,CAAS;AAAA,YAChC,SAAS,IAAIK,EAAQJ,CAAO;AAAA,YAC5B,WAAW,IAAII,EAAQN,CAAS;AAAA,YAChC,uBAAuBP,EAAK;AAAA,YAC5B,oBAAoBA,EAAK;AAAA,YACzB,eAAAU;AAAA,YACA,sBAAsB3C,EAAqB;AAAA,YAC3C,sBAAsBA,EAAqB,oBAAoB;AAAA,UAAA;AAAA,QACjE;AAAA,MACF,CACD,GAEK+C,IACJF,EAAS,oBAAoB,eAAeA,EAAS,oBAAoB;AAE3E,UAAI,CAACE;AACH,cAAM,IAAIC,GAAiB5D,EAAU,yBAAyB,CAAC;AAGjE,MAAAC,EAAQ4D,GAAgB,mBAAmB,EAAE,aAAAF,EAAA,CAAa;AAAA,IAC5D,CAAC;AAAA,EACH;AAEA,SACE,gBAAArE,EAACwE,GAAA,EAAc,GAAG3B,GAChB,UAAA,gBAAA7C,EAACyE,MAAK,UAAU5B,EAAQ,aAAagB,CAAQ,GAC3C,UAAA,gBAAA7D;AAAA,IAAC0E;AAAA,IAAA;AAAA,MACC,WAAAtC;AAAA,MACA,WAAAhB;AAAA,MACA,sBAAAE;AAAA,MACA,2BAAAK;AAAA,MACA,2BAA2BE;AAAA,MAC3B,2BAA2BE;AAAA,MAC3B,6BAA6BE;AAAA,IAAA;AAAA,EAAA,GAEjC,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"OffCycleCreation.js","sources":["../../../../src/components/Payroll/OffCycleCreation/OffCycleCreation.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react'\nimport { FormProvider, useForm, type Resolver } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { z } from 'zod'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsCreateOffCycle'\nimport {\n OffCycleReason as ApiOffCycleReason,\n WithholdingPayPeriod,\n} from '@gusto/embedded-api-v-2025-11-15/models/operations/postv1companiescompanyidpayrolls'\nimport { RFCDate } from '@gusto/embedded-api-v-2025-11-15/types/rfcdate'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport { OFF_CYCLE_REASON_DEFAULTS, type OffCycleReason } from '../OffCycleReasonSelection'\nimport {\n createOffCyclePayPeriodDateFormSchema,\n type OffCyclePayrollDateType,\n} from '../OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormTypes'\nimport { useOffCyclePayPeriodDateValidation } from '../OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { OffCycleCreationFormData, OffCycleCreationProps } from './OffCycleCreationTypes'\nimport { OffCycleCreationPresentation } from './OffCycleCreationPresentation'\nimport { useCompanyPaymentSpeed } from '@/hooks/useCompanyPaymentSpeed'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { Form } from '@/components/Common/Form'\nimport type { MultiSelectComboBoxOption } from '@/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes'\n\nconst LOCAL_TO_API_REASON: Record<OffCycleReason, ApiOffCycleReason> = {\n bonus: ApiOffCycleReason.Bonus,\n correction: ApiOffCycleReason.Correction,\n}\n\n/**\n * Creation form for off-cycle (bonus or correction) payrolls.\n *\n * Walks the user through configuring pay period dates, selecting a reason, choosing\n * employees, and setting deduction and tax withholding preferences, then submits the\n * resulting payroll for execution.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `offCycle/created` | The off-cycle payroll has been created | `{ payrollUuid: string }` |\n *\n * Changing the reason updates the deduction and withholding defaults — `'bonus'` skips\n * regular deductions and uses the supplemental withholding rate; `'correction'` includes\n * regular deductions and uses the regular rate.\n *\n * @param props - {@link OffCycleCreationProps} plus base component props.\n * @returns The off-cycle payroll creation form.\n * @public\n */\nexport function OffCycleCreation(props: OffCycleCreationProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ dictionary, companyId, payrollType = 'bonus' }: OffCycleCreationProps) {\n useComponentDictionary('Payroll.OffCycleCreation', dictionary)\n useI18n('Payroll.OffCycleCreation')\n useI18n('Payroll.OffCycleReasonSelection')\n useI18n('Payroll.OffCyclePayPeriodDateForm')\n useI18n('Payroll.OffCycleDeductionsSetting')\n useI18n('Payroll.EmployeeSelection')\n\n const { t } = useTranslation('Payroll.OffCyclePayPeriodDateForm')\n const { t: tCreation } = useTranslation('Payroll.OffCycleCreation')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { paymentSpeedDays } = useCompanyPaymentSpeed(companyId)\n\n const { minCheckDate, today } = useOffCyclePayPeriodDateValidation(paymentSpeedDays)\n const { mutateAsync: createOffCyclePayroll, isPending } = usePayrollsCreateOffCycleMutation()\n\n const [taxWithholdingConfig, setTaxWithholdingConfig] = useState<OffCycleTaxWithholdingConfig>({\n withholdingPayPeriod: WithholdingPayPeriod.EveryOtherWeek,\n withholdingRate: OFF_CYCLE_REASON_DEFAULTS[payrollType].withholdingType,\n })\n const [isTaxWithholdingModalOpen, setIsTaxWithholdingModalOpen] = useState(false)\n\n const handleTaxWithholdingEditClick = useCallback(() => {\n setIsTaxWithholdingModalOpen(true)\n }, [])\n\n const handleTaxWithholdingModalDone = useCallback((config: OffCycleTaxWithholdingConfig) => {\n setTaxWithholdingConfig(config)\n setIsTaxWithholdingModalOpen(false)\n }, [])\n\n const handleTaxWithholdingModalCancel = useCallback(() => {\n setIsTaxWithholdingModalOpen(false)\n }, [])\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n onboardedActive: true,\n })\n\n const employees: MultiSelectComboBoxOption[] = useMemo(() => {\n const employeeList = employeesData.showEmployees ?? []\n return [...employeeList]\n .sort((a, b) => {\n const lastNameComparison = a.lastName.localeCompare(b.lastName)\n if (lastNameComparison !== 0) return lastNameComparison\n return a.firstName.localeCompare(b.firstName)\n })\n .map(employee => {\n const fullName = [employee.firstName, employee.lastName].filter(Boolean).join(' ')\n return {\n label: fullName,\n value: employee.uuid,\n }\n })\n }, [employeesData])\n\n const translateValidation = (key: string, options?: Record<string, unknown>): string =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n t(key as any, options as any) as string\n\n const dynamicResolver: Resolver<OffCycleCreationFormData> = (values, context, options) => {\n const reason = values.reason\n const isCheckOnly = values.isCheckOnly\n const resolvedPayrollType: OffCyclePayrollDateType =\n reason === 'correction' ? 'correction' : payrollType\n\n const dateSchema = createOffCyclePayPeriodDateFormSchema(\n translateValidation,\n resolvedPayrollType,\n isCheckOnly ? today : minCheckDate,\n paymentSpeedDays,\n )\n const schema = z\n .object({\n reason: z.enum(['bonus', 'correction']),\n skipRegularDeductions: z.boolean(),\n includeAllEmployees: z.boolean(),\n selectedEmployeeUuids: z.array(z.string()),\n })\n .and(dateSchema)\n .superRefine((data, ctx) => {\n if (!data.includeAllEmployees && data.selectedEmployeeUuids.length === 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['selectedEmployeeUuids'],\n message: tCreation('errors.noEmployeesSelected'),\n })\n }\n })\n\n return zodResolver(schema)(values, context, options)\n }\n\n const methods = useForm<OffCycleCreationFormData>({\n resolver: dynamicResolver,\n defaultValues: {\n reason: payrollType,\n isCheckOnly: false,\n startDate: null,\n endDate: null,\n checkDate: null,\n skipRegularDeductions: OFF_CYCLE_REASON_DEFAULTS[payrollType].skipDeductions,\n includeAllEmployees: false,\n selectedEmployeeUuids: [],\n },\n })\n\n const watchedReason = methods.watch('reason')\n\n useEffect(() => {\n methods.setValue(\n 'skipRegularDeductions',\n OFF_CYCLE_REASON_DEFAULTS[watchedReason].skipDeductions,\n )\n setTaxWithholdingConfig(prev => ({\n ...prev,\n withholdingRate: OFF_CYCLE_REASON_DEFAULTS[watchedReason].withholdingType,\n }))\n }, [watchedReason, methods])\n\n const onSubmit = async (data: OffCycleCreationFormData) => {\n const reason = data.reason\n const checkDate = data.checkDate!\n const startDate = data.startDate!\n const endDate = data.endDate!\n const employeeUuids = data.includeAllEmployees\n ? employees.map(e => e.value)\n : data.selectedEmployeeUuids.length > 0\n ? data.selectedEmployeeUuids\n : undefined\n\n await baseSubmitHandler(data, async () => {\n const response = await createOffCyclePayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: LOCAL_TO_API_REASON[reason],\n startDate: new RFCDate(startDate),\n endDate: new RFCDate(endDate),\n checkDate: new RFCDate(checkDate),\n skipRegularDeductions: data.skipRegularDeductions,\n isCheckOnlyPayroll: data.isCheckOnly,\n employeeUuids,\n withholdingPayPeriod: taxWithholdingConfig.withholdingPayPeriod,\n fixedWithholdingRate: taxWithholdingConfig.withholdingRate === 'supplemental',\n },\n },\n })\n\n const payrollUuid =\n response.payrollUnprocessed?.payrollUuid ?? response.payrollUnprocessed?.uuid\n\n if (!payrollUuid) {\n throw new SDKInternalError(tCreation('errors.missingPayrollId'))\n }\n\n onEvent(componentEvents.OFF_CYCLE_CREATED, { payrollUuid })\n })\n }\n\n return (\n <FormProvider {...methods}>\n <Form onSubmit={methods.handleSubmit(onSubmit)}>\n <OffCycleCreationPresentation\n employees={employees}\n isPending={isPending}\n taxWithholdingConfig={taxWithholdingConfig}\n isTaxWithholdingModalOpen={isTaxWithholdingModalOpen}\n onTaxWithholdingEditClick={handleTaxWithholdingEditClick}\n onTaxWithholdingModalDone={handleTaxWithholdingModalDone}\n onTaxWithholdingModalCancel={handleTaxWithholdingModalCancel}\n />\n </Form>\n </FormProvider>\n )\n}\n"],"names":["LOCAL_TO_API_REASON","ApiOffCycleReason","OffCycleCreation","props","jsx","BaseComponent","Root","dictionary","companyId","payrollType","useComponentDictionary","useI18n","t","useTranslation","tCreation","onEvent","baseSubmitHandler","useBase","paymentSpeedDays","useCompanyPaymentSpeed","minCheckDate","today","useOffCyclePayPeriodDateValidation","createOffCyclePayroll","isPending","usePayrollsCreateOffCycleMutation","taxWithholdingConfig","setTaxWithholdingConfig","useState","WithholdingPayPeriod","OFF_CYCLE_REASON_DEFAULTS","isTaxWithholdingModalOpen","setIsTaxWithholdingModalOpen","handleTaxWithholdingEditClick","useCallback","handleTaxWithholdingModalDone","config","handleTaxWithholdingModalCancel","employeesData","useEmployeesListSuspense","employees","useMemo","a","b","lastNameComparison","employee","translateValidation","key","options","methods","useForm","values","context","reason","isCheckOnly","dateSchema","createOffCyclePayPeriodDateFormSchema","schema","z","data","ctx","zodResolver","watchedReason","useEffect","prev","onSubmit","checkDate","startDate","endDate","employeeUuids","e","response","RFCDate","payrollUuid","SDKInternalError","componentEvents","FormProvider","Form","OffCycleCreationPresentation"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { OffCycleDeductionsSettingProps } from './types';
7
7
  * deductions and contributions except 401(k); selecting "Include" runs all regular deductions
8
8
  * and contributions normally.
9
9
  *
10
+ * @events
10
11
  * | Event | Description | Data |
11
12
  * | ----- | ----------- | ---- |
12
13
  * | `offCycle/deductionsChange` | Fired when the deduction preference changes | {@link OffCycleDeductionsSettingChangePayload} |
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleDeductionsSetting.js","sources":["../../../../src/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OffCycleDeductionsSettingProps } from './types'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ntype DeductionsValue = 'include' | 'skip'\n\n/**\n * Radio control for choosing whether an off-cycle payroll skips regular deductions and contributions.\n *\n * @remarks\n * Taxes are always included regardless of the selection. Selecting \"Skip\" blocks all regular\n * deductions and contributions except 401(k); selecting \"Include\" runs all regular deductions\n * and contributions normally.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `offCycle/deductionsChange` | Fired when the deduction preference changes | {@link OffCycleDeductionsSettingChangePayload} |\n *\n * @param props - {@link OffCycleDeductionsSettingProps}\n * @returns The rendered radio group.\n * @public\n */\nexport function OffCycleDeductionsSetting({\n dictionary,\n skipRegularDeductions,\n onEvent,\n}: OffCycleDeductionsSettingProps) {\n useComponentDictionary('Payroll.OffCycleDeductionsSetting', dictionary)\n useI18n('Payroll.OffCycleDeductionsSetting')\n\n const { t } = useTranslation('Payroll.OffCycleDeductionsSetting')\n const { RadioGroup } = useComponentContext()\n\n const options = useMemo(\n () => [\n {\n value: 'include' as const,\n label: t('options.include.label'),\n },\n {\n value: 'skip' as const,\n label: t('options.skip.label'),\n },\n ],\n [t],\n )\n\n const handleChange = (value: string) => {\n onEvent(componentEvents.OFF_CYCLE_DEDUCTIONS_CHANGE, {\n skipRegularDeductions: value === 'skip',\n })\n }\n\n const selectedValue: DeductionsValue = skipRegularDeductions ? 'skip' : 'include'\n\n return (\n <RadioGroup\n label={t('title')}\n description={t('description')}\n options={options}\n value={selectedValue}\n onChange={handleChange}\n />\n )\n}\n"],"names":["OffCycleDeductionsSetting","dictionary","skipRegularDeductions","onEvent","useComponentDictionary","useI18n","t","useTranslation","RadioGroup","useComponentContext","options","useMemo","handleChange","value","componentEvents","selectedValue","jsx"],"mappings":";;;;;;AAyBO,SAASA,EAA0B;AAAA,EACxC,YAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,SAAAC;AACF,GAAmC;AACjC,EAAAC,EAAuB,qCAAqCH,CAAU,GACtEI,EAAQ,mCAAmC;AAE3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,mCAAmC,GAC1D,EAAE,YAAAC,EAAA,IAAeC,EAAA,GAEjBC,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,OAAO;AAAA,QACP,OAAOL,EAAE,uBAAuB;AAAA,MAAA;AAAA,MAElC;AAAA,QACE,OAAO;AAAA,QACP,OAAOA,EAAE,oBAAoB;AAAA,MAAA;AAAA,IAC/B;AAAA,IAEF,CAACA,CAAC;AAAA,EAAA,GAGEM,IAAe,CAACC,MAAkB;AACtC,IAAAV,EAAQW,EAAgB,6BAA6B;AAAA,MACnD,uBAAuBD,MAAU;AAAA,IAAA,CAClC;AAAA,EACH,GAEME,IAAiCb,IAAwB,SAAS;AAExE,SACE,gBAAAc;AAAA,IAACR;AAAA,IAAA;AAAA,MACC,OAAOF,EAAE,OAAO;AAAA,MAChB,aAAaA,EAAE,aAAa;AAAA,MAC5B,SAAAI;AAAA,MACA,OAAOK;AAAA,MACP,UAAUH;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
1
+ {"version":3,"file":"OffCycleDeductionsSetting.js","sources":["../../../../src/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport type { OffCycleDeductionsSettingProps } from './types'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\n\ntype DeductionsValue = 'include' | 'skip'\n\n/**\n * Radio control for choosing whether an off-cycle payroll skips regular deductions and contributions.\n *\n * @remarks\n * Taxes are always included regardless of the selection. Selecting \"Skip\" blocks all regular\n * deductions and contributions except 401(k); selecting \"Include\" runs all regular deductions\n * and contributions normally.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `offCycle/deductionsChange` | Fired when the deduction preference changes | {@link OffCycleDeductionsSettingChangePayload} |\n *\n * @param props - {@link OffCycleDeductionsSettingProps}\n * @returns The rendered radio group.\n * @public\n */\nexport function OffCycleDeductionsSetting({\n dictionary,\n skipRegularDeductions,\n onEvent,\n}: OffCycleDeductionsSettingProps) {\n useComponentDictionary('Payroll.OffCycleDeductionsSetting', dictionary)\n useI18n('Payroll.OffCycleDeductionsSetting')\n\n const { t } = useTranslation('Payroll.OffCycleDeductionsSetting')\n const { RadioGroup } = useComponentContext()\n\n const options = useMemo(\n () => [\n {\n value: 'include' as const,\n label: t('options.include.label'),\n },\n {\n value: 'skip' as const,\n label: t('options.skip.label'),\n },\n ],\n [t],\n )\n\n const handleChange = (value: string) => {\n onEvent(componentEvents.OFF_CYCLE_DEDUCTIONS_CHANGE, {\n skipRegularDeductions: value === 'skip',\n })\n }\n\n const selectedValue: DeductionsValue = skipRegularDeductions ? 'skip' : 'include'\n\n return (\n <RadioGroup\n label={t('title')}\n description={t('description')}\n options={options}\n value={selectedValue}\n onChange={handleChange}\n />\n )\n}\n"],"names":["OffCycleDeductionsSetting","dictionary","skipRegularDeductions","onEvent","useComponentDictionary","useI18n","t","useTranslation","RadioGroup","useComponentContext","options","useMemo","handleChange","value","componentEvents","selectedValue","jsx"],"mappings":";;;;;;AA0BO,SAASA,EAA0B;AAAA,EACxC,YAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,SAAAC;AACF,GAAmC;AACjC,EAAAC,EAAuB,qCAAqCH,CAAU,GACtEI,EAAQ,mCAAmC;AAE3C,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,mCAAmC,GAC1D,EAAE,YAAAC,EAAA,IAAeC,EAAA,GAEjBC,IAAUC;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,OAAO;AAAA,QACP,OAAOL,EAAE,uBAAuB;AAAA,MAAA;AAAA,MAElC;AAAA,QACE,OAAO;AAAA,QACP,OAAOA,EAAE,oBAAoB;AAAA,MAAA;AAAA,IAC/B;AAAA,IAEF,CAACA,CAAC;AAAA,EAAA,GAGEM,IAAe,CAACC,MAAkB;AACtC,IAAAV,EAAQW,EAAgB,6BAA6B;AAAA,MACnD,uBAAuBD,MAAU;AAAA,IAAA,CAClC;AAAA,EACH,GAEME,IAAiCb,IAAwB,SAAS;AAExE,SACE,gBAAAc;AAAA,IAACR;AAAA,IAAA;AAAA,MACC,OAAOF,EAAE,OAAO;AAAA,MAChB,aAAaA,EAAE,aAAa;AAAA,MAC5B,SAAAI;AAAA,MACA,OAAOK;AAAA,MACP,UAAUH;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
@@ -6,6 +6,7 @@ import { OffCycleReasonSelectionProps } from './types';
6
6
  * Selecting a reason emits the recommended deduction and withholding defaults alongside the chosen value
7
7
  * so a surrounding form can update its state to match.
8
8
  *
9
+ * @events
9
10
  * | Event | Description | Data |
10
11
  * | ----- | ----------- | ---- |
11
12
  * | `offCycle/selectReason` | Fired when the user selects a reason | {@link SelectReasonPayload} |
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleReasonSelection.js","sources":["../../../../src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { OffCycleReasonSelectionPresentation } from './OffCycleReasonSelectionPresentation'\nimport {\n OFF_CYCLE_REASON_DEFAULTS,\n type OffCycleReason,\n type OffCycleReasonSelectionProps,\n} from './types'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Presents the reason selection UI for choosing between a bonus and correction off-cycle payment.\n *\n * @remarks\n * Selecting a reason emits the recommended deduction and withholding defaults alongside the chosen value\n * so a surrounding form can update its state to match.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `offCycle/selectReason` | Fired when the user selects a reason | {@link SelectReasonPayload} |\n *\n * @param props - Component props including `companyId` and standard `onEvent`/`dictionary` handlers.\n * @returns The rendered reason selection UI.\n * @public\n */\nexport function OffCycleReasonSelection(props: OffCycleReasonSelectionProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ dictionary }: OffCycleReasonSelectionProps) {\n useComponentDictionary('Payroll.OffCycleReasonSelection', dictionary)\n useI18n('Payroll.OffCycleReasonSelection')\n\n const { onEvent } = useBase()\n const methods = useForm<{ reason: OffCycleReason | '' }>({\n defaultValues: { reason: '' },\n })\n\n const handleReasonChange = useCallback(\n (reason: OffCycleReason) => {\n const defaults = OFF_CYCLE_REASON_DEFAULTS[reason]\n onEvent(componentEvents.OFF_CYCLE_SELECT_REASON, {\n reason,\n defaults,\n })\n },\n [onEvent],\n )\n\n return (\n <FormProvider {...methods}>\n <OffCycleReasonSelectionPresentation name=\"reason\" onChange={handleReasonChange} />\n </FormProvider>\n )\n}\n"],"names":["OffCycleReasonSelection","props","jsx","BaseComponent","Root","dictionary","useComponentDictionary","useI18n","onEvent","useBase","methods","useForm","handleReasonChange","useCallback","reason","defaults","OFF_CYCLE_REASON_DEFAULTS","componentEvents","FormProvider","OffCycleReasonSelectionPresentation"],"mappings":";;;;;;;;;AA4BO,SAASA,EAAwBC,GAAqC;AAC3E,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,KAA4C;AAC1D,EAAAC,EAAuB,mCAAmCD,CAAU,GACpEE,EAAQ,iCAAiC;AAEzC,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAUC,EAAyC;AAAA,IACvD,eAAe,EAAE,QAAQ,GAAA;AAAA,EAAG,CAC7B,GAEKC,IAAqBC;AAAA,IACzB,CAACC,MAA2B;AAC1B,YAAMC,IAAWC,EAA0BF,CAAM;AACjD,MAAAN,EAAQS,EAAgB,yBAAyB;AAAA,QAC/C,QAAAH;AAAA,QACA,UAAAC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACP,CAAO;AAAA,EAAA;AAGV,SACE,gBAAAN,EAACgB,GAAA,EAAc,GAAGR,GAChB,UAAA,gBAAAR,EAACiB,KAAoC,MAAK,UAAS,UAAUP,EAAA,CAAoB,EAAA,CACnF;AAEJ;"}
1
+ {"version":3,"file":"OffCycleReasonSelection.js","sources":["../../../../src/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.tsx"],"sourcesContent":["import { useCallback } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { OffCycleReasonSelectionPresentation } from './OffCycleReasonSelectionPresentation'\nimport {\n OFF_CYCLE_REASON_DEFAULTS,\n type OffCycleReason,\n type OffCycleReasonSelectionProps,\n} from './types'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { componentEvents } from '@/shared/constants'\n\n/**\n * Presents the reason selection UI for choosing between a bonus and correction off-cycle payment.\n *\n * @remarks\n * Selecting a reason emits the recommended deduction and withholding defaults alongside the chosen value\n * so a surrounding form can update its state to match.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `offCycle/selectReason` | Fired when the user selects a reason | {@link SelectReasonPayload} |\n *\n * @param props - Component props including `companyId` and standard `onEvent`/`dictionary` handlers.\n * @returns The rendered reason selection UI.\n * @public\n */\nexport function OffCycleReasonSelection(props: OffCycleReasonSelectionProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({ dictionary }: OffCycleReasonSelectionProps) {\n useComponentDictionary('Payroll.OffCycleReasonSelection', dictionary)\n useI18n('Payroll.OffCycleReasonSelection')\n\n const { onEvent } = useBase()\n const methods = useForm<{ reason: OffCycleReason | '' }>({\n defaultValues: { reason: '' },\n })\n\n const handleReasonChange = useCallback(\n (reason: OffCycleReason) => {\n const defaults = OFF_CYCLE_REASON_DEFAULTS[reason]\n onEvent(componentEvents.OFF_CYCLE_SELECT_REASON, {\n reason,\n defaults,\n })\n },\n [onEvent],\n )\n\n return (\n <FormProvider {...methods}>\n <OffCycleReasonSelectionPresentation name=\"reason\" onChange={handleReasonChange} />\n </FormProvider>\n )\n}\n"],"names":["OffCycleReasonSelection","props","jsx","BaseComponent","Root","dictionary","useComponentDictionary","useI18n","onEvent","useBase","methods","useForm","handleReasonChange","useCallback","reason","defaults","OFF_CYCLE_REASON_DEFAULTS","componentEvents","FormProvider","OffCycleReasonSelectionPresentation"],"mappings":";;;;;;;;;AA6BO,SAASA,EAAwBC,GAAqC;AAC3E,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,KAA4C;AAC1D,EAAAC,EAAuB,mCAAmCD,CAAU,GACpEE,EAAQ,iCAAiC;AAEzC,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA,GACdC,IAAUC,EAAyC;AAAA,IACvD,eAAe,EAAE,QAAQ,GAAA;AAAA,EAAG,CAC7B,GAEKC,IAAqBC;AAAA,IACzB,CAACC,MAA2B;AAC1B,YAAMC,IAAWC,EAA0BF,CAAM;AACjD,MAAAN,EAAQS,EAAgB,yBAAyB;AAAA,QAC/C,QAAAH;AAAA,QACA,UAAAC;AAAA,MAAA,CACD;AAAA,IACH;AAAA,IACA,CAACP,CAAO;AAAA,EAAA;AAGV,SACE,gBAAAN,EAACgB,GAAA,EAAc,GAAGR,GAChB,UAAA,gBAAAR,EAACiB,KAAoC,MAAK,UAAS,UAAUP,EAAA,CAAoB,EAAA,CACnF;AAEJ;"}
@@ -1,10 +1,10 @@
1
- import { jsx as o, jsxs as t } from "react/jsx-runtime";
1
+ import { jsx as o, jsxs as l } from "react/jsx-runtime";
2
2
  import { useRef as R, useMemo as u } from "react";
3
3
  import { useForm as C, useWatch as x, FormProvider as O } from "react-hook-form";
4
4
  import { useTranslation as L } from "react-i18next";
5
5
  import { WithholdingPayPeriod as N } from "@gusto/embedded-api-v-2025-11-15/models/operations/postv1companiescompanyidpayrolls";
6
6
  import { WITHHOLDING_PAY_PERIOD_I18N_KEY as p } from "../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.js";
7
- import l from "./OffCycleTaxWithholdingModal.module.scss.js";
7
+ import t from "./OffCycleTaxWithholdingModal.module.scss.js";
8
8
  import { ActionsLayout as T } from "../../Common/ActionsLayout/ActionsLayout.js";
9
9
  import { useComponentContext as W } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
10
  import { useI18n as w } from "../../../i18n/I18n.js";
@@ -17,10 +17,10 @@ function Y({
17
17
  onCancel: r
18
18
  }) {
19
19
  w("Payroll.OffCycleTaxWithholding");
20
- const { t: e } = L("Payroll.OffCycleTaxWithholding"), { Modal: y, Heading: i, Text: n, Button: s } = W(), d = R(null), a = C({
20
+ const { t: e } = L("Payroll.OffCycleTaxWithholding"), { Modal: y, Heading: i, Text: a, Button: d } = W(), s = R(null), n = C({
21
21
  defaultValues: f
22
22
  }), S = x({
23
- control: a.control,
23
+ control: n.control,
24
24
  name: "withholdingPayPeriod"
25
25
  }), b = u(
26
26
  () => Object.values(N).map((m) => ({
@@ -30,7 +30,7 @@ function Y({
30
30
  [e]
31
31
  ), c = e(
32
32
  p[S]
33
- ).toLowerCase(), v = u(
33
+ ).toLowerCase(), P = u(
34
34
  () => [
35
35
  {
36
36
  value: "supplemental",
@@ -46,46 +46,47 @@ function Y({
46
46
  }
47
47
  ],
48
48
  [e, c]
49
- ), P = a.handleSubmit(g);
49
+ ), v = n.handleSubmit(g);
50
50
  return /* @__PURE__ */ o(
51
51
  y,
52
52
  {
53
53
  isOpen: h,
54
54
  onClose: r,
55
- containerRef: d,
56
- footer: /* @__PURE__ */ t(T, { children: [
57
- /* @__PURE__ */ o(s, { variant: "secondary", onClick: r, children: e("modal.cancelButton") }),
58
- /* @__PURE__ */ o(s, { variant: "primary", onClick: P, children: e("modal.doneButton") })
55
+ containerRef: s,
56
+ footer: /* @__PURE__ */ l(T, { children: [
57
+ /* @__PURE__ */ o(d, { variant: "secondary", onClick: r, children: e("modal.cancelButton") }),
58
+ /* @__PURE__ */ o(d, { variant: "primary", onClick: v, children: e("modal.doneButton") })
59
59
  ] }),
60
- children: /* @__PURE__ */ o(O, { ...a, children: /* @__PURE__ */ t("div", { className: l.content, children: [
60
+ children: /* @__PURE__ */ o(O, { ...n, children: /* @__PURE__ */ l("div", { className: t.content, children: [
61
61
  /* @__PURE__ */ o(i, { as: "h2", children: e("modal.title") }),
62
- /* @__PURE__ */ t("div", { className: l.section, children: [
62
+ /* @__PURE__ */ l("div", { className: t.section, children: [
63
63
  /* @__PURE__ */ o(i, { as: "h3", children: e("modal.regularSection.title") }),
64
- /* @__PURE__ */ o(n, { variant: "supporting", children: e("modal.regularSection.subtitle") }),
65
- /* @__PURE__ */ t("div", { className: l.rateInfo, children: [
66
- /* @__PURE__ */ o(n, { weight: "semibold", children: e("modal.regularSection.rateLabel") }),
67
- /* @__PURE__ */ o(n, { variant: "supporting", children: e("modal.regularSection.rateDescription") })
64
+ /* @__PURE__ */ o(a, { variant: "supporting", children: e("modal.regularSection.subtitle") }),
65
+ /* @__PURE__ */ l("div", { className: t.rateInfo, children: [
66
+ /* @__PURE__ */ o(a, { weight: "semibold", children: e("modal.regularSection.rateLabel") }),
67
+ /* @__PURE__ */ o(a, { variant: "supporting", children: e("modal.regularSection.rateDescription") })
68
68
  ] }),
69
69
  /* @__PURE__ */ o(
70
70
  D,
71
71
  {
72
72
  name: "withholdingPayPeriod",
73
73
  label: e("modal.regularSection.rateLabel"),
74
+ placeholder: e("modal.regularSection.ratePlaceholder"),
74
75
  options: b,
75
76
  shouldVisuallyHideLabel: !0,
76
- portalContainer: d.current ?? void 0
77
+ portalContainer: s.current ?? void 0
77
78
  }
78
79
  )
79
80
  ] }),
80
- /* @__PURE__ */ o("hr", { className: l.divider }),
81
- /* @__PURE__ */ t("div", { className: l.section, children: [
81
+ /* @__PURE__ */ o("hr", { className: t.divider }),
82
+ /* @__PURE__ */ l("div", { className: t.section, children: [
82
83
  /* @__PURE__ */ o(i, { as: "h3", children: e("modal.supplementalSection.title") }),
83
84
  /* @__PURE__ */ o(
84
85
  H,
85
86
  {
86
87
  name: "withholdingRate",
87
88
  label: e("modal.supplementalSection.title"),
88
- options: v,
89
+ options: P,
89
90
  shouldVisuallyHideLabel: !0
90
91
  }
91
92
  )
@@ -1 +1 @@
1
- {"version":3,"file":"OffCycleTaxWithholdingModal.js","sources":["../../../../src/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { WithholdingPayPeriod } from '@gusto/embedded-api-v-2025-11-15/models/operations/postv1companiescompanyidpayrolls'\nimport { WITHHOLDING_PAY_PERIOD_I18N_KEY } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport styles from './OffCycleTaxWithholdingModal.module.scss'\nimport type { OffCycleTaxWithholdingModalProps } from './OffCycleTaxWithholdingModalTypes'\nimport { ActionsLayout, SelectField, RadioGroupField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport function OffCycleTaxWithholdingModal({\n isOpen,\n defaultConfig,\n onDone,\n onCancel,\n}: OffCycleTaxWithholdingModalProps) {\n useI18n('Payroll.OffCycleTaxWithholding')\n const { t } = useTranslation('Payroll.OffCycleTaxWithholding')\n const { Modal, Heading, Text, Button } = useComponentContext()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const formHandlers = useForm<OffCycleTaxWithholdingConfig>({\n defaultValues: defaultConfig,\n })\n\n const currentWithholdingPayPeriod = useWatch({\n control: formHandlers.control,\n name: 'withholdingPayPeriod',\n })\n\n const frequencyOptions = useMemo(\n () =>\n Object.values(WithholdingPayPeriod).map(value => ({\n value,\n label: t(WITHHOLDING_PAY_PERIOD_I18N_KEY[value]),\n })),\n [t],\n )\n\n const frequencyDisplayText = t(\n WITHHOLDING_PAY_PERIOD_I18N_KEY[currentWithholdingPayPeriod],\n ).toLowerCase()\n\n const withholdingRateOptions = useMemo(\n () => [\n {\n value: 'supplemental' as const,\n label: t('modal.supplementalSection.useSupplementalRate'),\n description: t('modal.supplementalSection.useSupplementalRateDescription'),\n },\n {\n value: 'regular' as const,\n label: t('modal.supplementalSection.useRegularRate', {\n frequency: frequencyDisplayText,\n }),\n description: t('modal.supplementalSection.useRegularRateDescription'),\n },\n ],\n [t, frequencyDisplayText],\n )\n\n const handleSubmit = formHandlers.handleSubmit(onDone)\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('modal.cancelButton')}\n </Button>\n <Button variant=\"primary\" onClick={handleSubmit}>\n {t('modal.doneButton')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.content}>\n <Heading as=\"h2\">{t('modal.title')}</Heading>\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.regularSection.title')}</Heading>\n <Text variant=\"supporting\">{t('modal.regularSection.subtitle')}</Text>\n\n <div className={styles.rateInfo}>\n <Text weight=\"semibold\">{t('modal.regularSection.rateLabel')}</Text>\n <Text variant=\"supporting\">{t('modal.regularSection.rateDescription')}</Text>\n </div>\n\n <SelectField\n name=\"withholdingPayPeriod\"\n label={t('modal.regularSection.rateLabel')}\n options={frequencyOptions}\n shouldVisuallyHideLabel\n portalContainer={modalContainerRef.current ?? undefined}\n />\n </div>\n\n <hr className={styles.divider} />\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.supplementalSection.title')}</Heading>\n <RadioGroupField\n name=\"withholdingRate\"\n label={t('modal.supplementalSection.title')}\n options={withholdingRateOptions}\n shouldVisuallyHideLabel\n />\n </div>\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["OffCycleTaxWithholdingModal","isOpen","defaultConfig","onDone","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","useComponentContext","modalContainerRef","useRef","formHandlers","useForm","currentWithholdingPayPeriod","useWatch","frequencyOptions","useMemo","WithholdingPayPeriod","value","WITHHOLDING_PAY_PERIOD_I18N_KEY","frequencyDisplayText","withholdingRateOptions","handleSubmit","jsx","ActionsLayout","FormProvider","styles","jsxs","SelectField","RadioGroupField"],"mappings":";;;;;;;;;;;;AAaO,SAASA,EAA4B;AAAA,EAC1C,QAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,GAAqC;AACnC,EAAAC,EAAQ,gCAAgC;AACxC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,gCAAgC,GACvD,EAAE,OAAAC,GAAO,SAAAC,GAAS,MAAAC,GAAM,QAAAC,EAAA,IAAWC,EAAA,GACnCC,IAAoBC,EAAuB,IAAI,GAE/CC,IAAeC,EAAsC;AAAA,IACzD,eAAed;AAAA,EAAA,CAChB,GAEKe,IAA8BC,EAAS;AAAA,IAC3C,SAASH,EAAa;AAAA,IACtB,MAAM;AAAA,EAAA,CACP,GAEKI,IAAmBC;AAAA,IACvB,MACE,OAAO,OAAOC,CAAoB,EAAE,IAAI,CAAAC,OAAU;AAAA,MAChD,OAAAA;AAAA,MACA,OAAOhB,EAAEiB,EAAgCD,CAAK,CAAC;AAAA,IAAA,EAC/C;AAAA,IACJ,CAAChB,CAAC;AAAA,EAAA,GAGEkB,IAAuBlB;AAAA,IAC3BiB,EAAgCN,CAA2B;AAAA,EAAA,EAC3D,YAAA,GAEIQ,IAAyBL;AAAA,IAC7B,MAAM;AAAA,MACJ;AAAA,QACE,OAAO;AAAA,QACP,OAAOd,EAAE,+CAA+C;AAAA,QACxD,aAAaA,EAAE,0DAA0D;AAAA,MAAA;AAAA,MAE3E;AAAA,QACE,OAAO;AAAA,QACP,OAAOA,EAAE,4CAA4C;AAAA,UACnD,WAAWkB;AAAA,QAAA,CACZ;AAAA,QACD,aAAalB,EAAE,qDAAqD;AAAA,MAAA;AAAA,IACtE;AAAA,IAEF,CAACA,GAAGkB,CAAoB;AAAA,EAAA,GAGpBE,IAAeX,EAAa,aAAaZ,CAAM;AAErD,SACE,gBAAAwB;AAAA,IAACnB;AAAA,IAAA;AAAA,MACC,QAAAP;AAAA,MACA,SAASG;AAAA,MACT,cAAcS;AAAA,MACd,0BACGe,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAD,EAAChB,KAAO,SAAQ,aAAY,SAASP,GAClC,UAAAE,EAAE,oBAAoB,GACzB;AAAA,QACA,gBAAAqB,EAAChB,KAAO,SAAQ,WAAU,SAASe,GAChC,UAAApB,EAAE,kBAAkB,EAAA,CACvB;AAAA,MAAA,GACF;AAAA,MAGF,UAAA,gBAAAqB,EAACE,KAAc,GAAGd,GAChB,4BAAC,OAAA,EAAI,WAAWe,EAAO,SACrB,UAAA;AAAA,QAAA,gBAAAH,EAAClB,GAAA,EAAQ,IAAG,MAAM,UAAAH,EAAE,aAAa,GAAE;AAAA,QAEnC,gBAAAyB,EAAC,OAAA,EAAI,WAAWD,EAAO,SACrB,UAAA;AAAA,UAAA,gBAAAH,EAAClB,GAAA,EAAQ,IAAG,MAAM,UAAAH,EAAE,4BAA4B,GAAE;AAAA,4BACjDI,GAAA,EAAK,SAAQ,cAAc,UAAAJ,EAAE,+BAA+B,GAAE;AAAA,UAE/D,gBAAAyB,EAAC,OAAA,EAAI,WAAWD,EAAO,UACrB,UAAA;AAAA,YAAA,gBAAAH,EAACjB,GAAA,EAAK,QAAO,YAAY,UAAAJ,EAAE,gCAAgC,GAAE;AAAA,8BAC5DI,GAAA,EAAK,SAAQ,cAAc,UAAAJ,EAAE,sCAAsC,EAAA,CAAE;AAAA,UAAA,GACxE;AAAA,UAEA,gBAAAqB;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAO1B,EAAE,gCAAgC;AAAA,cACzC,SAASa;AAAA,cACT,yBAAuB;AAAA,cACvB,iBAAiBN,EAAkB,WAAW;AAAA,YAAA;AAAA,UAAA;AAAA,QAChD,GACF;AAAA,QAEA,gBAAAc,EAAC,MAAA,EAAG,WAAWG,EAAO,QAAA,CAAS;AAAA,QAE/B,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAO,SACrB,UAAA;AAAA,UAAA,gBAAAH,EAAClB,GAAA,EAAQ,IAAG,MAAM,UAAAH,EAAE,iCAAiC,GAAE;AAAA,UACvD,gBAAAqB;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAO3B,EAAE,iCAAiC;AAAA,cAC1C,SAASmB;AAAA,cACT,yBAAuB;AAAA,YAAA;AAAA,UAAA;AAAA,QACzB,EAAA,CACF;AAAA,MAAA,EAAA,CACF,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"OffCycleTaxWithholdingModal.js","sources":["../../../../src/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.tsx"],"sourcesContent":["import { useMemo, useRef } from 'react'\nimport { FormProvider, useForm, useWatch } from 'react-hook-form'\nimport { useTranslation } from 'react-i18next'\nimport { WithholdingPayPeriod } from '@gusto/embedded-api-v-2025-11-15/models/operations/postv1companiescompanyidpayrolls'\nimport { WITHHOLDING_PAY_PERIOD_I18N_KEY } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport styles from './OffCycleTaxWithholdingModal.module.scss'\nimport type { OffCycleTaxWithholdingModalProps } from './OffCycleTaxWithholdingModalTypes'\nimport { ActionsLayout, SelectField, RadioGroupField } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport function OffCycleTaxWithholdingModal({\n isOpen,\n defaultConfig,\n onDone,\n onCancel,\n}: OffCycleTaxWithholdingModalProps) {\n useI18n('Payroll.OffCycleTaxWithholding')\n const { t } = useTranslation('Payroll.OffCycleTaxWithholding')\n const { Modal, Heading, Text, Button } = useComponentContext()\n const modalContainerRef = useRef<HTMLDivElement>(null)\n\n const formHandlers = useForm<OffCycleTaxWithholdingConfig>({\n defaultValues: defaultConfig,\n })\n\n const currentWithholdingPayPeriod = useWatch({\n control: formHandlers.control,\n name: 'withholdingPayPeriod',\n })\n\n const frequencyOptions = useMemo(\n () =>\n Object.values(WithholdingPayPeriod).map(value => ({\n value,\n label: t(WITHHOLDING_PAY_PERIOD_I18N_KEY[value]),\n })),\n [t],\n )\n\n const frequencyDisplayText = t(\n WITHHOLDING_PAY_PERIOD_I18N_KEY[currentWithholdingPayPeriod],\n ).toLowerCase()\n\n const withholdingRateOptions = useMemo(\n () => [\n {\n value: 'supplemental' as const,\n label: t('modal.supplementalSection.useSupplementalRate'),\n description: t('modal.supplementalSection.useSupplementalRateDescription'),\n },\n {\n value: 'regular' as const,\n label: t('modal.supplementalSection.useRegularRate', {\n frequency: frequencyDisplayText,\n }),\n description: t('modal.supplementalSection.useRegularRateDescription'),\n },\n ],\n [t, frequencyDisplayText],\n )\n\n const handleSubmit = formHandlers.handleSubmit(onDone)\n\n return (\n <Modal\n isOpen={isOpen}\n onClose={onCancel}\n containerRef={modalContainerRef}\n footer={\n <ActionsLayout>\n <Button variant=\"secondary\" onClick={onCancel}>\n {t('modal.cancelButton')}\n </Button>\n <Button variant=\"primary\" onClick={handleSubmit}>\n {t('modal.doneButton')}\n </Button>\n </ActionsLayout>\n }\n >\n <FormProvider {...formHandlers}>\n <div className={styles.content}>\n <Heading as=\"h2\">{t('modal.title')}</Heading>\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.regularSection.title')}</Heading>\n <Text variant=\"supporting\">{t('modal.regularSection.subtitle')}</Text>\n\n <div className={styles.rateInfo}>\n <Text weight=\"semibold\">{t('modal.regularSection.rateLabel')}</Text>\n <Text variant=\"supporting\">{t('modal.regularSection.rateDescription')}</Text>\n </div>\n\n <SelectField\n name=\"withholdingPayPeriod\"\n label={t('modal.regularSection.rateLabel')}\n placeholder={t('modal.regularSection.ratePlaceholder')}\n options={frequencyOptions}\n shouldVisuallyHideLabel\n portalContainer={modalContainerRef.current ?? undefined}\n />\n </div>\n\n <hr className={styles.divider} />\n\n <div className={styles.section}>\n <Heading as=\"h3\">{t('modal.supplementalSection.title')}</Heading>\n <RadioGroupField\n name=\"withholdingRate\"\n label={t('modal.supplementalSection.title')}\n options={withholdingRateOptions}\n shouldVisuallyHideLabel\n />\n </div>\n </div>\n </FormProvider>\n </Modal>\n )\n}\n"],"names":["OffCycleTaxWithholdingModal","isOpen","defaultConfig","onDone","onCancel","useI18n","t","useTranslation","Modal","Heading","Text","Button","useComponentContext","modalContainerRef","useRef","formHandlers","useForm","currentWithholdingPayPeriod","useWatch","frequencyOptions","useMemo","WithholdingPayPeriod","value","WITHHOLDING_PAY_PERIOD_I18N_KEY","frequencyDisplayText","withholdingRateOptions","handleSubmit","jsx","ActionsLayout","FormProvider","styles","jsxs","SelectField","RadioGroupField"],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface PayrollConfigurationProps extends BaseComponentInterface<'Payro
21
21
  * @remarks
22
22
  * Emits the following events:
23
23
  *
24
+ * @events
24
25
  * | Event | Description | Data |
25
26
  * | ----- | ----------- | ---- |
26
27
  * | `runPayroll/employee/edit` | An employee row is selected for editing | `{ employeeId, firstName, lastName }` |
@@ -36,4 +37,4 @@ export interface PayrollConfigurationProps extends BaseComponentInterface<'Payro
36
37
  * @returns The payroll configuration screen.
37
38
  * @public
38
39
  */
39
- export declare function PayrollConfiguration(props: PayrollConfigurationProps & BaseComponentInterface): import("react").JSX.Element;
40
+ export declare function PayrollConfiguration(props: PayrollConfigurationProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollConfiguration.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfiguration.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState, type ReactNode } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsGet'\nimport { payrollsCalculate } from '@gusto/embedded-api-v-2025-11-15/funcs/payrollsCalculate'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api-v-2025-11-15/react-query/_context'\nimport type { PayrollProcessingRequest } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollprocessingrequest'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollprocessingrequest'\nimport type { Employee } from '@gusto/embedded-api-v-2025-11-15/models/components/employee'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsUpdate'\nimport { usePayrollsCalculateGrossUpMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsCalculateGrossUp'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollupdate'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsGetBlockers'\nimport { payrollSubmitHandler, type ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { hasDirectDepositEmployees } from '../helpers'\nimport { GrossUpModal } from '../GrossUpModal'\nimport { PayrollConfigurationPresentation } from './PayrollConfigurationPresentation'\nimport { usePayrollConfigurationData } from './usePayrollConfigurationData'\nimport { getGrossUpTargetCompensationName, isGrossUpEligible } from './grossUpHelpers'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { useBase } from '@/components/Base'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { SDKInternalError } from '@/types/sdkError'\n\nconst isCalculatingStatus = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.Calculating\n\nconst isCalculatedStatus = (\n processingRequest?: PayrollProcessingRequest | null,\n calculatedAt?: Date | null,\n) =>\n calculatedAt != null &&\n (processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess ||\n processingRequest == null)\n\n/**\n * Props for {@link PayrollConfiguration}.\n *\n * @public\n */\nexport interface PayrollConfigurationProps extends BaseComponentInterface<'Payroll.PayrollConfiguration'> {\n /** The associated company identifier. */\n companyId: string\n /** The associated payroll identifier. */\n payrollId: string\n /** Optional alert components to render above the configuration content. */\n alerts?: ReactNode\n /** Whether to show the reimbursements column in the compensation table. Defaults to `true`. */\n withReimbursements?: boolean\n}\n\n/**\n * Handles the configuration phase of payroll processing, allowing users to review and modify employee compensation before calculating the payroll.\n *\n * @remarks\n * Emits the following events:\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/employee/edit` | An employee row is selected for editing | `{ employeeId, firstName, lastName }` |\n * | `runPayroll/employee/skip` | An employee is skipped or unskipped for this payroll | `{ employeeId }` |\n * | `runPayroll/employee/saved` | Employee compensation changes are persisted | `{ payrollPrepared }` |\n * | `runPayroll/calculated` | Payroll calculation completes successfully | `{ payrollId, alert, payPeriod }` |\n * | `runPayroll/processingFailed` | Payroll calculation fails or times out | — |\n * | `runPayroll/blockers/viewAll` | The \"view all blockers\" affordance is selected | — |\n * | `runPayroll/grossUp/selected` | The set-net-earnings menu item is selected for an employee | `{ employeeUuid }` |\n * | `runPayroll/grossUp/calculated` | A gross-up amount is calculated from a target net pay | `{ grossUp, netPay, employeeUuid }` |\n *\n * @param props - See {@link PayrollConfigurationProps}.\n * @returns The payroll configuration screen.\n * @public\n */\nexport function PayrollConfiguration(props: PayrollConfigurationProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n onEvent,\n companyId,\n payrollId,\n dictionary,\n alerts,\n withReimbursements = true,\n}: PayrollConfigurationProps) => {\n useComponentDictionary('Payroll.PayrollConfiguration', dictionary)\n useI18n('Payroll.PayrollConfiguration')\n const { t } = useTranslation('Payroll.PayrollConfiguration')\n const { baseSubmitHandler } = useBase()\n const dateFormatter = useDateFormatter()\n\n const [isPolling, setIsPolling] = useState(false)\n const [isCalculatingPayroll, setIsCalculatingPayroll] = useState(false)\n const previousCalculatedAtRef = useRef<number | null>(null)\n const gustoClient = useGustoEmbeddedContext()\n\n const { data: payrollData } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId,\n include: ['taxes', 'benefits', 'deductions', 'payroll_status_meta'],\n },\n { refetchInterval: isPolling ? 5_000 : false },\n )\n\n const excludedEmployeeUuids = useMemo(\n () =>\n payrollData.payrollShow?.employeeCompensations\n ?.filter(comp => comp.excluded)\n .map(comp => comp.employeeUuid!)\n .filter(Boolean) ?? [],\n [payrollData.payrollShow?.employeeCompensations],\n )\n\n const {\n employeeDetails,\n employeeCompensations,\n paySchedule,\n payPeriod,\n payrollCategory,\n pagination,\n isLoading,\n refetch,\n } = usePayrollConfigurationData({\n companyId,\n payrollId,\n isCalculating: isPolling || isCalculatingPayroll,\n excludedEmployeeUuids,\n })\n\n const { mutateAsync: updatePayroll, isPending: isUpdatingPayroll } = usePayrollsUpdateMutation()\n\n const { mutateAsync: calculateGrossUpMutation } = usePayrollsCalculateGrossUpMutation()\n\n const [grossUpEmployeeUuid, setGrossUpEmployeeUuid] = useState<string | null>(null)\n const [isGrossUpModalOpen, setIsGrossUpModalOpen] = useState(false)\n\n const grossUpEnabled = isGrossUpEligible(payrollCategory)\n const grossUpTargetCompensation = getGrossUpTargetCompensationName(payrollCategory)\n\n const onGrossUpSelect = (employeeUuid: string) => {\n setGrossUpEmployeeUuid(employeeUuid)\n setIsGrossUpModalOpen(true)\n onEvent(componentEvents.RUN_PAYROLL_GROSS_UP_SELECTED, { employeeUuid })\n }\n\n const onCalculateGrossUp = async (netPay: number): Promise<string | null> => {\n if (!grossUpEmployeeUuid) return null\n let grossUp: string | null = null\n\n await baseSubmitHandler(null, async () => {\n const result = await calculateGrossUpMutation({\n request: {\n payrollUuid: payrollId,\n payrollGrossUpRequest: {\n employeeUuid: grossUpEmployeeUuid,\n netPay: netPay.toString(),\n },\n },\n })\n\n grossUp = result.payrollGrossUpResponse?.grossUp ?? null\n\n if (grossUp) {\n onEvent(componentEvents.RUN_PAYROLL_GROSS_UP_CALCULATED, {\n grossUp,\n netPay,\n employeeUuid: grossUpEmployeeUuid,\n })\n }\n })\n\n return grossUp\n }\n\n const onGrossUpApply = async (grossAmount: string) => {\n if (!grossUpEmployeeUuid || !grossUpTargetCompensation) {\n throw new SDKInternalError(\n 'Unable to apply gross-up: missing employee or target compensation.',\n )\n }\n\n const employeeComp = employeeCompensations.find(ec => ec.employeeUuid === grossUpEmployeeUuid)\n if (!employeeComp) {\n throw new SDKInternalError('Unable to apply gross-up: employee compensation not found.')\n }\n\n const existingFixed = employeeComp.fixedCompensations ?? []\n const hasTargetCompensation = existingFixed.some(\n fc => fc.name?.toLowerCase() === grossUpTargetCompensation.toLowerCase(),\n )\n\n const updatedFixedCompensations = existingFixed.map(fc => ({\n name: fc.name,\n jobUuid: fc.jobUuid,\n amount:\n fc.name?.toLowerCase() === grossUpTargetCompensation.toLowerCase() ? grossAmount : '0',\n }))\n\n if (!hasTargetCompensation) {\n const primaryJobUuid =\n employeeComp.hourlyCompensations?.[0]?.jobUuid ?? existingFixed[0]?.jobUuid ?? ''\n updatedFixedCompensations.push({\n name: grossUpTargetCompensation,\n jobUuid: primaryJobUuid,\n amount: grossAmount,\n })\n }\n\n const updatedHourlyCompensations = (employeeComp.hourlyCompensations ?? []).map(hc => ({\n name: hc.name,\n jobUuid: hc.jobUuid,\n hours: '0',\n }))\n\n const updatedPaidTimeOff = (employeeComp.paidTimeOff ?? []).map(pto => ({\n name: pto.name,\n hours: '0',\n }))\n\n const transformedCompensation = transformEmployeeCompensation({\n ...employeeComp,\n fixedCompensations: updatedFixedCompensations,\n hourlyCompensations: updatedHourlyCompensations,\n paidTimeOff: updatedPaidTimeOff,\n })\n\n await baseSubmitHandler({}, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [{ ...transformedCompensation, excluded: false }],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n\n setGrossUpEmployeeUuid(null)\n setIsGrossUpModalOpen(false)\n }\n\n const handleGrossUpApply = async (grossAmount: string) => {\n try {\n await onGrossUpApply(grossAmount)\n } catch {\n // Modal stays open; error is surfaced by baseSubmitHandler\n }\n }\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockers ?? []\n\n const blockersFromApi: ApiPayrollBlocker[] = payrollBlockerList.map(blocker => ({\n key: blocker.key,\n message: blocker.message,\n }))\n\n const [payrollBlockers, setPayrollBlockers] = useState(blockersFromApi)\n\n const onCalculatePayroll = async () => {\n setPayrollBlockers([])\n previousCalculatedAtRef.current = payrollData.payrollShow?.calculatedAt?.getTime() ?? null\n\n await baseSubmitHandler({}, async () => {\n const result = await payrollSubmitHandler(async () => {\n setIsCalculatingPayroll(true)\n try {\n const calcResult = await payrollsCalculate(gustoClient, {\n companyId,\n payrollId,\n })\n if (!calcResult.ok) {\n throw calcResult.error\n }\n setIsPolling(true)\n } finally {\n setIsCalculatingPayroll(false)\n }\n })\n\n if (!result.success && result.blockers.length > 0) {\n setPayrollBlockers(result.blockers)\n }\n })\n }\n\n const onEdit = (employee: Employee) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_EDIT, {\n employeeId: employee.uuid,\n firstName: employee.firstName,\n lastName: employee.lastName,\n })\n }\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n }\n }\n\n const onToggleExclude = async (employeeCompensation: PayrollEmployeeCompensationsType) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SKIP, {\n employeeId: employeeCompensation.employeeUuid,\n })\n await baseSubmitHandler({}, async () => {\n const transformedCompensation = transformEmployeeCompensation(employeeCompensation)\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [\n { ...transformedCompensation, excluded: !transformedCompensation.excluded },\n ],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n }\n\n const onViewBlockers = () => {\n onEvent(componentEvents.RUN_PAYROLL_BLOCKERS_VIEW_ALL)\n }\n\n useEffect(() => {\n if (isCalculatingStatus(payrollData.payrollShow?.processingRequest) && !isPolling) {\n previousCalculatedAtRef.current = payrollData.payrollShow?.calculatedAt?.getTime() ?? null\n setIsPolling(true)\n }\n const currentCalculatedAt = payrollData.payrollShow?.calculatedAt\n const isNewCalculation = currentCalculatedAt?.getTime() !== previousCalculatedAtRef.current\n if (\n isPolling &&\n isNewCalculation &&\n isCalculatedStatus(payrollData.payrollShow?.processingRequest, currentCalculatedAt)\n ) {\n onEvent(componentEvents.RUN_PAYROLL_CALCULATED, {\n payrollId,\n alert: {\n type: 'success',\n title: t('alerts.progressSaved'),\n alertKey: 'progressSaved',\n },\n payPeriod: payrollData.payrollShow?.payPeriod,\n })\n setPayrollBlockers([])\n setIsPolling(false)\n }\n if (\n isPolling &&\n payrollData.payrollShow?.processingRequest?.status ===\n PayrollProcessingRequestStatus.ProcessingFailed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setIsPolling(false)\n }\n }, [\n payrollData.payrollShow?.processingRequest?.status,\n payrollData.payrollShow?.calculatedAt,\n isPolling,\n onEvent,\n t,\n payrollId,\n ])\n\n useEffect(() => {\n if (!isPolling) return\n\n const POLLING_TIMEOUT_MS = 3 * 60 * 1000\n const timeoutId = setTimeout(() => {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setIsPolling(false)\n }, POLLING_TIMEOUT_MS)\n\n return () => {\n clearTimeout(timeoutId)\n }\n }, [isPolling, onEvent])\n\n const payrollAlert = (() => {\n const statusMeta = payrollData.payrollShow?.payrollStatusMeta\n\n const isLatePayroll =\n statusMeta?.payrollLate &&\n statusMeta.initialCheckDate &&\n statusMeta.expectedDebitTime &&\n statusMeta.expectedCheckDate\n\n if (isLatePayroll) {\n return {\n label: t('alerts.payrollLate', {\n initialCheckDate: dateFormatter.formatShortWithWeekday(statusMeta.initialCheckDate),\n }),\n content: t('alerts.payrollLateText', {\n ...dateFormatter.formatWithTime(statusMeta.expectedDebitTime),\n newCheckDate: dateFormatter.formatShortWithWeekday(statusMeta.expectedCheckDate),\n }),\n variant: 'warning' as const,\n }\n }\n\n const { payrollShow } = payrollData\n const allCompensations = payrollShow?.employeeCompensations\n\n if (\n payrollShow &&\n allCompensations &&\n allCompensations.length > 0 &&\n hasDirectDepositEmployees(allCompensations)\n ) {\n return {\n label: t('alerts.directDepositDeadline', {\n payDate: dateFormatter.formatShortWithWeekday(payrollShow.checkDate),\n ...dateFormatter.formatWithTime(payrollShow.payrollDeadline),\n }),\n content: t('alerts.directDepositDeadlineText'),\n variant: 'info' as const,\n }\n }\n\n return undefined\n })()\n\n return (\n <>\n <PayrollConfigurationPresentation\n onCalculatePayroll={onCalculatePayroll}\n isCalculateDisabled={blockersFromApi.length > 0}\n onEdit={onEdit}\n onToggleExclude={onToggleExclude}\n onViewBlockers={onViewBlockers}\n employeeCompensations={employeeCompensations}\n employeeDetails={employeeDetails}\n payPeriod={payPeriod}\n paySchedule={paySchedule}\n payrollCategory={payrollCategory}\n alerts={alerts}\n payrollAlert={payrollAlert}\n isPending={isPolling || isLoading || isUpdatingPayroll || isCalculatingPayroll}\n isCalculating={isCalculatingPayroll || isPolling}\n payrollBlockers={payrollBlockers}\n pagination={pagination}\n withReimbursements={withReimbursements}\n grossUpEnabled={grossUpEnabled}\n onGrossUpSelect={onGrossUpSelect}\n />\n {grossUpEnabled && (\n <GrossUpModal\n isOpen={isGrossUpModalOpen}\n onCalculateGrossUp={onCalculateGrossUp}\n onApply={handleGrossUpApply}\n onCancel={() => {\n setIsGrossUpModalOpen(false)\n }}\n />\n )}\n </>\n )\n}\n"],"names":["isCalculatingStatus","processingRequest","PayrollProcessingRequestStatus","isCalculatedStatus","calculatedAt","PayrollConfiguration","props","jsx","BaseComponent","Root","onEvent","companyId","payrollId","dictionary","alerts","withReimbursements","useComponentDictionary","useI18n","t","useTranslation","baseSubmitHandler","useBase","dateFormatter","useDateFormatter","isPolling","setIsPolling","useState","isCalculatingPayroll","setIsCalculatingPayroll","previousCalculatedAtRef","useRef","gustoClient","useGustoEmbeddedContext","payrollData","usePayrollsGetSuspense","excludedEmployeeUuids","useMemo","comp","employeeDetails","employeeCompensations","paySchedule","payPeriod","payrollCategory","pagination","isLoading","refetch","usePayrollConfigurationData","updatePayroll","isUpdatingPayroll","usePayrollsUpdateMutation","calculateGrossUpMutation","usePayrollsCalculateGrossUpMutation","grossUpEmployeeUuid","setGrossUpEmployeeUuid","isGrossUpModalOpen","setIsGrossUpModalOpen","grossUpEnabled","isGrossUpEligible","grossUpTargetCompensation","getGrossUpTargetCompensationName","onGrossUpSelect","employeeUuid","componentEvents","onCalculateGrossUp","netPay","grossUp","onGrossUpApply","grossAmount","SDKInternalError","employeeComp","ec","existingFixed","hasTargetCompensation","fc","updatedFixedCompensations","primaryJobUuid","updatedHourlyCompensations","hc","updatedPaidTimeOff","pto","transformedCompensation","transformEmployeeCompensation","result","handleGrossUpApply","blockersData","usePayrollsGetBlockersSuspense","blockersFromApi","blocker","payrollBlockers","setPayrollBlockers","onCalculatePayroll","payrollSubmitHandler","calcResult","payrollsCalculate","onEdit","employee","paymentMethod","reimbursements","compensation","onToggleExclude","employeeCompensation","onViewBlockers","useEffect","currentCalculatedAt","isNewCalculation","POLLING_TIMEOUT_MS","timeoutId","payrollAlert","statusMeta","payrollShow","allCompensations","hasDirectDepositEmployees","jsxs","Fragment","PayrollConfigurationPresentation","GrossUpModal"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollConfiguration.js","sources":["../../../../src/components/Payroll/PayrollConfiguration/PayrollConfiguration.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState, type ReactNode } from 'react'\nimport { usePayrollsGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsGet'\nimport { payrollsCalculate } from '@gusto/embedded-api-v-2025-11-15/funcs/payrollsCalculate'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api-v-2025-11-15/react-query/_context'\nimport type { PayrollProcessingRequest } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollprocessingrequest'\nimport { PayrollProcessingRequestStatus } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollprocessingrequest'\nimport type { Employee } from '@gusto/embedded-api-v-2025-11-15/models/components/employee'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsUpdate'\nimport { usePayrollsCalculateGrossUpMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsCalculateGrossUp'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollupdate'\nimport { usePayrollsGetBlockersSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsGetBlockers'\nimport { payrollSubmitHandler, type ApiPayrollBlocker } from '../PayrollBlocker/payrollHelpers'\nimport { hasDirectDepositEmployees } from '../helpers'\nimport { GrossUpModal } from '../GrossUpModal'\nimport { PayrollConfigurationPresentation } from './PayrollConfigurationPresentation'\nimport { usePayrollConfigurationData } from './usePayrollConfigurationData'\nimport { getGrossUpTargetCompensationName, isGrossUpEligible } from './grossUpHelpers'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { useBase } from '@/components/Base'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { SDKInternalError } from '@/types/sdkError'\n\nconst isCalculatingStatus = (processingRequest?: PayrollProcessingRequest | null) =>\n processingRequest?.status === PayrollProcessingRequestStatus.Calculating\n\nconst isCalculatedStatus = (\n processingRequest?: PayrollProcessingRequest | null,\n calculatedAt?: Date | null,\n) =>\n calculatedAt != null &&\n (processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess ||\n processingRequest == null)\n\n/**\n * Props for {@link PayrollConfiguration}.\n *\n * @public\n */\nexport interface PayrollConfigurationProps extends BaseComponentInterface<'Payroll.PayrollConfiguration'> {\n /** The associated company identifier. */\n companyId: string\n /** The associated payroll identifier. */\n payrollId: string\n /** Optional alert components to render above the configuration content. */\n alerts?: ReactNode\n /** Whether to show the reimbursements column in the compensation table. Defaults to `true`. */\n withReimbursements?: boolean\n}\n\n/**\n * Handles the configuration phase of payroll processing, allowing users to review and modify employee compensation before calculating the payroll.\n *\n * @remarks\n * Emits the following events:\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/employee/edit` | An employee row is selected for editing | `{ employeeId, firstName, lastName }` |\n * | `runPayroll/employee/skip` | An employee is skipped or unskipped for this payroll | `{ employeeId }` |\n * | `runPayroll/employee/saved` | Employee compensation changes are persisted | `{ payrollPrepared }` |\n * | `runPayroll/calculated` | Payroll calculation completes successfully | `{ payrollId, alert, payPeriod }` |\n * | `runPayroll/processingFailed` | Payroll calculation fails or times out | — |\n * | `runPayroll/blockers/viewAll` | The \"view all blockers\" affordance is selected | — |\n * | `runPayroll/grossUp/selected` | The set-net-earnings menu item is selected for an employee | `{ employeeUuid }` |\n * | `runPayroll/grossUp/calculated` | A gross-up amount is calculated from a target net pay | `{ grossUp, netPay, employeeUuid }` |\n *\n * @param props - See {@link PayrollConfigurationProps}.\n * @returns The payroll configuration screen.\n * @public\n */\nexport function PayrollConfiguration(props: PayrollConfigurationProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n onEvent,\n companyId,\n payrollId,\n dictionary,\n alerts,\n withReimbursements = true,\n}: PayrollConfigurationProps) => {\n useComponentDictionary('Payroll.PayrollConfiguration', dictionary)\n useI18n('Payroll.PayrollConfiguration')\n const { t } = useTranslation('Payroll.PayrollConfiguration')\n const { baseSubmitHandler } = useBase()\n const dateFormatter = useDateFormatter()\n\n const [isPolling, setIsPolling] = useState(false)\n const [isCalculatingPayroll, setIsCalculatingPayroll] = useState(false)\n const previousCalculatedAtRef = useRef<number | null>(null)\n const gustoClient = useGustoEmbeddedContext()\n\n const { data: payrollData } = usePayrollsGetSuspense(\n {\n companyId,\n payrollId,\n include: ['taxes', 'benefits', 'deductions', 'payroll_status_meta'],\n },\n { refetchInterval: isPolling ? 5_000 : false },\n )\n\n const excludedEmployeeUuids = useMemo(\n () =>\n payrollData.payrollShow?.employeeCompensations\n ?.filter(comp => comp.excluded)\n .map(comp => comp.employeeUuid!)\n .filter(Boolean) ?? [],\n [payrollData.payrollShow?.employeeCompensations],\n )\n\n const {\n employeeDetails,\n employeeCompensations,\n paySchedule,\n payPeriod,\n payrollCategory,\n pagination,\n isLoading,\n refetch,\n } = usePayrollConfigurationData({\n companyId,\n payrollId,\n isCalculating: isPolling || isCalculatingPayroll,\n excludedEmployeeUuids,\n })\n\n const { mutateAsync: updatePayroll, isPending: isUpdatingPayroll } = usePayrollsUpdateMutation()\n\n const { mutateAsync: calculateGrossUpMutation } = usePayrollsCalculateGrossUpMutation()\n\n const [grossUpEmployeeUuid, setGrossUpEmployeeUuid] = useState<string | null>(null)\n const [isGrossUpModalOpen, setIsGrossUpModalOpen] = useState(false)\n\n const grossUpEnabled = isGrossUpEligible(payrollCategory)\n const grossUpTargetCompensation = getGrossUpTargetCompensationName(payrollCategory)\n\n const onGrossUpSelect = (employeeUuid: string) => {\n setGrossUpEmployeeUuid(employeeUuid)\n setIsGrossUpModalOpen(true)\n onEvent(componentEvents.RUN_PAYROLL_GROSS_UP_SELECTED, { employeeUuid })\n }\n\n const onCalculateGrossUp = async (netPay: number): Promise<string | null> => {\n if (!grossUpEmployeeUuid) return null\n let grossUp: string | null = null\n\n await baseSubmitHandler(null, async () => {\n const result = await calculateGrossUpMutation({\n request: {\n payrollUuid: payrollId,\n payrollGrossUpRequest: {\n employeeUuid: grossUpEmployeeUuid,\n netPay: netPay.toString(),\n },\n },\n })\n\n grossUp = result.payrollGrossUpResponse?.grossUp ?? null\n\n if (grossUp) {\n onEvent(componentEvents.RUN_PAYROLL_GROSS_UP_CALCULATED, {\n grossUp,\n netPay,\n employeeUuid: grossUpEmployeeUuid,\n })\n }\n })\n\n return grossUp\n }\n\n const onGrossUpApply = async (grossAmount: string) => {\n if (!grossUpEmployeeUuid || !grossUpTargetCompensation) {\n throw new SDKInternalError(\n 'Unable to apply gross-up: missing employee or target compensation.',\n )\n }\n\n const employeeComp = employeeCompensations.find(ec => ec.employeeUuid === grossUpEmployeeUuid)\n if (!employeeComp) {\n throw new SDKInternalError('Unable to apply gross-up: employee compensation not found.')\n }\n\n const existingFixed = employeeComp.fixedCompensations ?? []\n const hasTargetCompensation = existingFixed.some(\n fc => fc.name?.toLowerCase() === grossUpTargetCompensation.toLowerCase(),\n )\n\n const updatedFixedCompensations = existingFixed.map(fc => ({\n name: fc.name,\n jobUuid: fc.jobUuid,\n amount:\n fc.name?.toLowerCase() === grossUpTargetCompensation.toLowerCase() ? grossAmount : '0',\n }))\n\n if (!hasTargetCompensation) {\n const primaryJobUuid =\n employeeComp.hourlyCompensations?.[0]?.jobUuid ?? existingFixed[0]?.jobUuid ?? ''\n updatedFixedCompensations.push({\n name: grossUpTargetCompensation,\n jobUuid: primaryJobUuid,\n amount: grossAmount,\n })\n }\n\n const updatedHourlyCompensations = (employeeComp.hourlyCompensations ?? []).map(hc => ({\n name: hc.name,\n jobUuid: hc.jobUuid,\n hours: '0',\n }))\n\n const updatedPaidTimeOff = (employeeComp.paidTimeOff ?? []).map(pto => ({\n name: pto.name,\n hours: '0',\n }))\n\n const transformedCompensation = transformEmployeeCompensation({\n ...employeeComp,\n fixedCompensations: updatedFixedCompensations,\n hourlyCompensations: updatedHourlyCompensations,\n paidTimeOff: updatedPaidTimeOff,\n })\n\n await baseSubmitHandler({}, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [{ ...transformedCompensation, excluded: false }],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n\n setGrossUpEmployeeUuid(null)\n setIsGrossUpModalOpen(false)\n }\n\n const handleGrossUpApply = async (grossAmount: string) => {\n try {\n await onGrossUpApply(grossAmount)\n } catch {\n // Modal stays open; error is surfaced by baseSubmitHandler\n }\n }\n\n const { data: blockersData } = usePayrollsGetBlockersSuspense({\n companyUuid: companyId,\n })\n\n const payrollBlockerList = blockersData.payrollBlockers ?? []\n\n const blockersFromApi: ApiPayrollBlocker[] = payrollBlockerList.map(blocker => ({\n key: blocker.key,\n message: blocker.message,\n }))\n\n const [payrollBlockers, setPayrollBlockers] = useState(blockersFromApi)\n\n const onCalculatePayroll = async () => {\n setPayrollBlockers([])\n previousCalculatedAtRef.current = payrollData.payrollShow?.calculatedAt?.getTime() ?? null\n\n await baseSubmitHandler({}, async () => {\n const result = await payrollSubmitHandler(async () => {\n setIsCalculatingPayroll(true)\n try {\n const calcResult = await payrollsCalculate(gustoClient, {\n companyId,\n payrollId,\n })\n if (!calcResult.ok) {\n throw calcResult.error\n }\n setIsPolling(true)\n } finally {\n setIsCalculatingPayroll(false)\n }\n })\n\n if (!result.success && result.blockers.length > 0) {\n setPayrollBlockers(result.blockers)\n }\n })\n }\n\n const onEdit = (employee: Employee) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_EDIT, {\n employeeId: employee.uuid,\n firstName: employee.firstName,\n lastName: employee.lastName,\n })\n }\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n }\n }\n\n const onToggleExclude = async (employeeCompensation: PayrollEmployeeCompensationsType) => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SKIP, {\n employeeId: employeeCompensation.employeeUuid,\n })\n await baseSubmitHandler({}, async () => {\n const transformedCompensation = transformEmployeeCompensation(employeeCompensation)\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [\n { ...transformedCompensation, excluded: !transformedCompensation.excluded },\n ],\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n })\n await refetch()\n })\n }\n\n const onViewBlockers = () => {\n onEvent(componentEvents.RUN_PAYROLL_BLOCKERS_VIEW_ALL)\n }\n\n useEffect(() => {\n if (isCalculatingStatus(payrollData.payrollShow?.processingRequest) && !isPolling) {\n previousCalculatedAtRef.current = payrollData.payrollShow?.calculatedAt?.getTime() ?? null\n setIsPolling(true)\n }\n const currentCalculatedAt = payrollData.payrollShow?.calculatedAt\n const isNewCalculation = currentCalculatedAt?.getTime() !== previousCalculatedAtRef.current\n if (\n isPolling &&\n isNewCalculation &&\n isCalculatedStatus(payrollData.payrollShow?.processingRequest, currentCalculatedAt)\n ) {\n onEvent(componentEvents.RUN_PAYROLL_CALCULATED, {\n payrollId,\n alert: {\n type: 'success',\n title: t('alerts.progressSaved'),\n alertKey: 'progressSaved',\n },\n payPeriod: payrollData.payrollShow?.payPeriod,\n })\n setPayrollBlockers([])\n setIsPolling(false)\n }\n if (\n isPolling &&\n payrollData.payrollShow?.processingRequest?.status ===\n PayrollProcessingRequestStatus.ProcessingFailed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setIsPolling(false)\n }\n }, [\n payrollData.payrollShow?.processingRequest?.status,\n payrollData.payrollShow?.calculatedAt,\n isPolling,\n onEvent,\n t,\n payrollId,\n ])\n\n useEffect(() => {\n if (!isPolling) return\n\n const POLLING_TIMEOUT_MS = 3 * 60 * 1000\n const timeoutId = setTimeout(() => {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setIsPolling(false)\n }, POLLING_TIMEOUT_MS)\n\n return () => {\n clearTimeout(timeoutId)\n }\n }, [isPolling, onEvent])\n\n const payrollAlert = (() => {\n const statusMeta = payrollData.payrollShow?.payrollStatusMeta\n\n const isLatePayroll =\n statusMeta?.payrollLate &&\n statusMeta.initialCheckDate &&\n statusMeta.expectedDebitTime &&\n statusMeta.expectedCheckDate\n\n if (isLatePayroll) {\n return {\n label: t('alerts.payrollLate', {\n initialCheckDate: dateFormatter.formatShortWithWeekday(statusMeta.initialCheckDate),\n }),\n content: t('alerts.payrollLateText', {\n ...dateFormatter.formatWithTime(statusMeta.expectedDebitTime),\n newCheckDate: dateFormatter.formatShortWithWeekday(statusMeta.expectedCheckDate),\n }),\n variant: 'warning' as const,\n }\n }\n\n const { payrollShow } = payrollData\n const allCompensations = payrollShow?.employeeCompensations\n\n if (\n payrollShow &&\n allCompensations &&\n allCompensations.length > 0 &&\n hasDirectDepositEmployees(allCompensations)\n ) {\n return {\n label: t('alerts.directDepositDeadline', {\n payDate: dateFormatter.formatShortWithWeekday(payrollShow.checkDate),\n ...dateFormatter.formatWithTime(payrollShow.payrollDeadline),\n }),\n content: t('alerts.directDepositDeadlineText'),\n variant: 'info' as const,\n }\n }\n\n return undefined\n })()\n\n return (\n <>\n <PayrollConfigurationPresentation\n onCalculatePayroll={onCalculatePayroll}\n isCalculateDisabled={blockersFromApi.length > 0}\n onEdit={onEdit}\n onToggleExclude={onToggleExclude}\n onViewBlockers={onViewBlockers}\n employeeCompensations={employeeCompensations}\n employeeDetails={employeeDetails}\n payPeriod={payPeriod}\n paySchedule={paySchedule}\n payrollCategory={payrollCategory}\n alerts={alerts}\n payrollAlert={payrollAlert}\n isPending={isPolling || isLoading || isUpdatingPayroll || isCalculatingPayroll}\n isCalculating={isCalculatingPayroll || isPolling}\n payrollBlockers={payrollBlockers}\n pagination={pagination}\n withReimbursements={withReimbursements}\n grossUpEnabled={grossUpEnabled}\n onGrossUpSelect={onGrossUpSelect}\n />\n {grossUpEnabled && (\n <GrossUpModal\n isOpen={isGrossUpModalOpen}\n onCalculateGrossUp={onCalculateGrossUp}\n onApply={handleGrossUpApply}\n onCancel={() => {\n setIsGrossUpModalOpen(false)\n }}\n />\n )}\n </>\n )\n}\n"],"names":["isCalculatingStatus","processingRequest","PayrollProcessingRequestStatus","isCalculatedStatus","calculatedAt","PayrollConfiguration","props","jsx","BaseComponent","Root","onEvent","companyId","payrollId","dictionary","alerts","withReimbursements","useComponentDictionary","useI18n","t","useTranslation","baseSubmitHandler","useBase","dateFormatter","useDateFormatter","isPolling","setIsPolling","useState","isCalculatingPayroll","setIsCalculatingPayroll","previousCalculatedAtRef","useRef","gustoClient","useGustoEmbeddedContext","payrollData","usePayrollsGetSuspense","excludedEmployeeUuids","useMemo","comp","employeeDetails","employeeCompensations","paySchedule","payPeriod","payrollCategory","pagination","isLoading","refetch","usePayrollConfigurationData","updatePayroll","isUpdatingPayroll","usePayrollsUpdateMutation","calculateGrossUpMutation","usePayrollsCalculateGrossUpMutation","grossUpEmployeeUuid","setGrossUpEmployeeUuid","isGrossUpModalOpen","setIsGrossUpModalOpen","grossUpEnabled","isGrossUpEligible","grossUpTargetCompensation","getGrossUpTargetCompensationName","onGrossUpSelect","employeeUuid","componentEvents","onCalculateGrossUp","netPay","grossUp","onGrossUpApply","grossAmount","SDKInternalError","employeeComp","ec","existingFixed","hasTargetCompensation","fc","updatedFixedCompensations","primaryJobUuid","updatedHourlyCompensations","hc","updatedPaidTimeOff","pto","transformedCompensation","transformEmployeeCompensation","result","handleGrossUpApply","blockersData","usePayrollsGetBlockersSuspense","blockersFromApi","blocker","payrollBlockers","setPayrollBlockers","onCalculatePayroll","payrollSubmitHandler","calcResult","payrollsCalculate","onEdit","employee","paymentMethod","reimbursements","compensation","onToggleExclude","employeeCompensation","onViewBlockers","useEffect","currentCalculatedAt","isNewCalculation","POLLING_TIMEOUT_MS","timeoutId","payrollAlert","statusMeta","payrollShow","allCompensations","hasDirectDepositEmployees","jsxs","Fragment","PayrollConfigurationPresentation","GrossUpModal"],"mappings":"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"}
@@ -20,7 +20,7 @@ export interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payrol
20
20
  * Allows modification of pay rates, hours, time off, additional earnings,
21
21
  * reimbursements, and payment method for a single employee on the specified payroll.
22
22
  *
23
- * @remarks
23
+ * @events
24
24
  * | Event | Description | Data |
25
25
  * | ----- | ----------- | ---- |
26
26
  * | `runPayroll/employee/saved` | Fired when employee payroll compensation changes are saved | `{ payrollPrepared, employee }` |
@@ -46,4 +46,4 @@ export interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payrol
46
46
  * }
47
47
  * ```
48
48
  */
49
- export declare function PayrollEditEmployee(props: PayrollEditEmployeeProps & BaseComponentInterface): import("react").JSX.Element;
49
+ export declare function PayrollEditEmployee(props: PayrollEditEmployeeProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollEditEmployee.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.tsx"],"sourcesContent":["import { useEmployeesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesGet'\nimport { useEmployeePaymentMethodsGetBankAccountsSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodsGetBankAccounts'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsUpdate'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollupdate'\nimport { useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { usePreparedPayrollData } from '../usePreparedPayrollData'\nimport { PREPARE_QUERY_KEY } from '../PayrollConfiguration/usePayrollConfigurationData'\nimport { derivePayrollCategory, isOffCyclePayroll } from '../payrollTypes'\nimport { cleanupReimbursements } from '../helpers'\nimport { PayrollEditEmployeePresentation } from './PayrollEditEmployeePresentation'\nimport { componentEvents } from '@/shared/constants'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { useBase } from '@/components/Base/useBase'\n\n/**\n * Props for {@link PayrollEditEmployee}.\n *\n * @public\n */\nexport interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payroll.PayrollEditEmployee'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The associated company identifier. */\n companyId: string\n /** The associated payroll identifier. */\n payrollId: string\n /** Whether to show reimbursement fields. Defaults to `true`. */\n withReimbursements?: boolean\n}\n\n/**\n * Editor for an individual employee's compensation within a payroll run.\n *\n * Allows modification of pay rates, hours, time off, additional earnings,\n * reimbursements, and payment method for a single employee on the specified payroll.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/employee/saved` | Fired when employee payroll compensation changes are saved | `{ payrollPrepared, employee }` |\n * | `runPayroll/employee/cancelled` | Fired when the user cancels editing employee payroll compensation | — |\n *\n * @param props - {@link PayrollEditEmployeeProps} plus base component props.\n * @returns The employee compensation editor.\n * @public\n *\n * @example\n * ```tsx\n * import { Payroll } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <Payroll.PayrollEditEmployee\n * employeeId=\"your-employee-id\"\n * companyId=\"your-company-id\"\n * payrollId=\"your-payroll-id\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function PayrollEditEmployee(props: PayrollEditEmployeeProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n employeeId,\n companyId,\n payrollId,\n onEvent,\n dictionary,\n withReimbursements = true,\n}: PayrollEditEmployeeProps) => {\n useComponentDictionary('Payroll.PayrollEditEmployee', dictionary)\n\n const queryClient = useQueryClient()\n const { LoadingIndicator, baseSubmitHandler } = useBase()\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { data: bankAccountsList } = useEmployeePaymentMethodsGetBankAccountsSuspense({\n employeeId,\n })\n const memoizedEmployeeId = useMemo(() => [employeeId], [employeeId])\n const { preparedPayroll, paySchedule, isLoading } = usePreparedPayrollData({\n companyId,\n payrollId,\n employeeUuids: memoizedEmployeeId,\n })\n\n const { mutateAsync: updatePayroll, isPending } = usePayrollsUpdateMutation()\n\n const employee = employeeData.employee!\n const employeeCompensation = preparedPayroll?.employeeCompensations?.at(0)\n const bankAccounts = bankAccountsList.employeeBankAccounts || []\n const hasDirectDepositSetup = bankAccounts.length > 0\n const payrollCategory = derivePayrollCategory(preparedPayroll ?? {})\n const usesItemizedReimbursements = !isOffCyclePayroll(payrollCategory)\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n // Off-cycle payrolls write reimbursements via the legacy fixed_compensations field; the\n // itemized array gets rejected by the `emb_off_cycle_disable_named_reimbursements` backend\n // flag (default-on globally, expected removal 2026-09-01).\n // TODO(post-2026-09-01): drop the branch once the flag is gone.\n ...(usesItemizedReimbursements && reimbursements\n ? { reimbursements: cleanupReimbursements(reimbursements) }\n : {}),\n }\n }\n\n const onSave = async (updatedCompensation: PayrollEmployeeCompensationsType) => {\n const transformedCompensation = transformEmployeeCompensation(updatedCompensation)\n await baseSubmitHandler(null, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [transformedCompensation],\n },\n },\n })\n\n await queryClient.invalidateQueries({\n queryKey: [PREPARE_QUERY_KEY, payrollId],\n })\n\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n employee,\n })\n })\n }\n\n const onCancel = () => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED)\n }\n\n if (isLoading) {\n return <LoadingIndicator />\n }\n\n return (\n <PayrollEditEmployeePresentation\n onSave={onSave}\n onCancel={onCancel}\n employee={employee}\n isPending={isPending}\n employeeCompensation={employeeCompensation}\n fixedCompensationTypes={preparedPayroll?.fixedCompensationTypes || []}\n payPeriodStartDate={preparedPayroll?.payPeriod?.startDate}\n paySchedule={paySchedule}\n payrollCategory={payrollCategory}\n withReimbursements={withReimbursements}\n hasDirectDepositSetup={hasDirectDepositSetup}\n />\n )\n}\n"],"names":["PayrollEditEmployee","props","jsx","BaseComponent","Root","employeeId","companyId","payrollId","onEvent","dictionary","withReimbursements","useComponentDictionary","queryClient","useQueryClient","LoadingIndicator","baseSubmitHandler","useBase","employeeData","useEmployeesGetSuspense","bankAccountsList","useEmployeePaymentMethodsGetBankAccountsSuspense","memoizedEmployeeId","useMemo","preparedPayroll","paySchedule","isLoading","usePreparedPayrollData","updatePayroll","isPending","usePayrollsUpdateMutation","employee","employeeCompensation","hasDirectDepositSetup","payrollCategory","derivePayrollCategory","usesItemizedReimbursements","isOffCyclePayroll","transformEmployeeCompensation","paymentMethod","reimbursements","compensation","cleanupReimbursements","onSave","updatedCompensation","transformedCompensation","result","PREPARE_QUERY_KEY","componentEvents","onCancel","PayrollEditEmployeePresentation"],"mappings":";;;;;;;;;;;;;;;AAkEO,SAASA,GAAoBC,GAA0D;AAC5F,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,IAAO,CAAC;AAAA,EACZ,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC,IAAqB;AACvB,MAAgC;AAC9B,EAAAC,EAAuB,+BAA+BF,CAAU;AAEhE,QAAMG,IAAcC,EAAA,GACd,EAAE,kBAAAC,GAAkB,mBAAAC,EAAA,IAAsBC,EAAA,GAE1C,EAAE,MAAMC,EAAA,IAAiBC,EAAwB,EAAE,YAAAb,GAAY,GAC/D,EAAE,MAAMc,EAAA,IAAqBC,EAAiD;AAAA,IAClF,YAAAf;AAAA,EAAA,CACD,GACKgB,IAAqBC,EAAQ,MAAM,CAACjB,CAAU,GAAG,CAACA,CAAU,CAAC,GAC7D,EAAE,iBAAAkB,GAAiB,aAAAC,GAAa,WAAAC,EAAA,IAAcC,EAAuB;AAAA,IACzE,WAAApB;AAAA,IACA,WAAAC;AAAA,IACA,eAAec;AAAA,EAAA,CAChB,GAEK,EAAE,aAAaM,GAAe,WAAAC,EAAA,IAAcC,EAAA,GAE5CC,IAAWb,EAAa,UACxBc,IAAuBR,GAAiB,uBAAuB,GAAG,CAAC,GAEnES,KADeb,EAAiB,wBAAwB,CAAA,GACnB,SAAS,GAC9Cc,IAAkBC,EAAsBX,KAAmB,EAAE,GAC7DY,IAA6B,CAACC,EAAkBH,CAAe,GAE/DI,IAAgC,CAAC;AAAA,IACrC,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,OAEI;AAAA,IACL,GAAGA;AAAA,IACH,GAAIF,KAAiBA,MAAkB,eAAe,EAAE,eAAAA,EAAA,IAAkB,CAAA;AAAA,IAC1E,MAAME,EAAa,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,IAK3B,GAAIL,KAA8BI,IAC9B,EAAE,gBAAgBE,EAAsBF,CAAc,MACtD,CAAA;AAAA,EAAC,IAIHG,IAAS,OAAOC,MAA0D;AAC9E,UAAMC,IAA0BP,EAA8BM,CAAmB;AACjF,UAAM5B,EAAkB,MAAM,YAAY;AACxC,YAAM8B,IAAS,MAAMlB,EAAc;AAAA,QACjC,SAAS;AAAA,UACP,WAAArB;AAAA,UACA,WAAAC;AAAA,UACA,eAAe;AAAA,YACb,uBAAuB,CAACqC,CAAuB;AAAA,UAAA;AAAA,QACjD;AAAA,MACF,CACD;AAED,YAAMhC,EAAY,kBAAkB;AAAA,QAClC,UAAU,CAACkC,GAAmBvC,CAAS;AAAA,MAAA,CACxC,GAEDC,EAAQuC,EAAgB,4BAA4B;AAAA,QAClD,iBAAiBF,EAAO;AAAA,QACxB,UAAAf;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAAA,EACH,GAEMkB,IAAW,MAAM;AACrB,IAAAxC,EAAQuC,EAAgB,8BAA8B;AAAA,EACxD;AAEA,SAAItB,sBACMX,GAAA,EAAiB,IAIzB,gBAAAZ;AAAA,IAAC+C;AAAA,IAAA;AAAA,MACC,QAAAP;AAAA,MACA,UAAAM;AAAA,MACA,UAAAlB;AAAA,MACA,WAAAF;AAAA,MACA,sBAAAG;AAAA,MACA,wBAAwBR,GAAiB,0BAA0B,CAAA;AAAA,MACnE,oBAAoBA,GAAiB,WAAW;AAAA,MAChD,aAAAC;AAAA,MACA,iBAAAS;AAAA,MACA,oBAAAvB;AAAA,MACA,uBAAAsB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"PayrollEditEmployee.js","sources":["../../../../src/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.tsx"],"sourcesContent":["import { useEmployeesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesGet'\nimport { useEmployeePaymentMethodsGetBankAccountsSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeePaymentMethodsGetBankAccounts'\nimport { usePayrollsUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsUpdate'\nimport type { PayrollEmployeeCompensationsType } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollemployeecompensationstype'\nimport type { PayrollUpdateEmployeeCompensations } from '@gusto/embedded-api-v-2025-11-15/models/components/payrollupdate'\nimport { useMemo } from 'react'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { usePreparedPayrollData } from '../usePreparedPayrollData'\nimport { PREPARE_QUERY_KEY } from '../PayrollConfiguration/usePayrollConfigurationData'\nimport { derivePayrollCategory, isOffCyclePayroll } from '../payrollTypes'\nimport { cleanupReimbursements } from '../helpers'\nimport { PayrollEditEmployeePresentation } from './PayrollEditEmployeePresentation'\nimport { componentEvents } from '@/shared/constants'\nimport type { BaseComponentInterface } from '@/components/Base/Base'\nimport { BaseComponent } from '@/components/Base/Base'\nimport { useComponentDictionary } from '@/i18n'\nimport { useBase } from '@/components/Base/useBase'\n\n/**\n * Props for {@link PayrollEditEmployee}.\n *\n * @public\n */\nexport interface PayrollEditEmployeeProps extends BaseComponentInterface<'Payroll.PayrollEditEmployee'> {\n /** The associated employee identifier. */\n employeeId: string\n /** The associated company identifier. */\n companyId: string\n /** The associated payroll identifier. */\n payrollId: string\n /** Whether to show reimbursement fields. Defaults to `true`. */\n withReimbursements?: boolean\n}\n\n/**\n * Editor for an individual employee's compensation within a payroll run.\n *\n * Allows modification of pay rates, hours, time off, additional earnings,\n * reimbursements, and payment method for a single employee on the specified payroll.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/employee/saved` | Fired when employee payroll compensation changes are saved | `{ payrollPrepared, employee }` |\n * | `runPayroll/employee/cancelled` | Fired when the user cancels editing employee payroll compensation | — |\n *\n * @param props - {@link PayrollEditEmployeeProps} plus base component props.\n * @returns The employee compensation editor.\n * @public\n *\n * @example\n * ```tsx\n * import { Payroll } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <Payroll.PayrollEditEmployee\n * employeeId=\"your-employee-id\"\n * companyId=\"your-company-id\"\n * payrollId=\"your-payroll-id\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function PayrollEditEmployee(props: PayrollEditEmployeeProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n employeeId,\n companyId,\n payrollId,\n onEvent,\n dictionary,\n withReimbursements = true,\n}: PayrollEditEmployeeProps) => {\n useComponentDictionary('Payroll.PayrollEditEmployee', dictionary)\n\n const queryClient = useQueryClient()\n const { LoadingIndicator, baseSubmitHandler } = useBase()\n\n const { data: employeeData } = useEmployeesGetSuspense({ employeeId })\n const { data: bankAccountsList } = useEmployeePaymentMethodsGetBankAccountsSuspense({\n employeeId,\n })\n const memoizedEmployeeId = useMemo(() => [employeeId], [employeeId])\n const { preparedPayroll, paySchedule, isLoading } = usePreparedPayrollData({\n companyId,\n payrollId,\n employeeUuids: memoizedEmployeeId,\n })\n\n const { mutateAsync: updatePayroll, isPending } = usePayrollsUpdateMutation()\n\n const employee = employeeData.employee!\n const employeeCompensation = preparedPayroll?.employeeCompensations?.at(0)\n const bankAccounts = bankAccountsList.employeeBankAccounts || []\n const hasDirectDepositSetup = bankAccounts.length > 0\n const payrollCategory = derivePayrollCategory(preparedPayroll ?? {})\n const usesItemizedReimbursements = !isOffCyclePayroll(payrollCategory)\n\n const transformEmployeeCompensation = ({\n paymentMethod,\n reimbursements,\n ...compensation\n }: PayrollEmployeeCompensationsType): PayrollUpdateEmployeeCompensations => {\n return {\n ...compensation,\n ...(paymentMethod && paymentMethod !== 'Historical' ? { paymentMethod } : {}),\n memo: compensation.memo || undefined,\n // Off-cycle payrolls write reimbursements via the legacy fixed_compensations field; the\n // itemized array gets rejected by the `emb_off_cycle_disable_named_reimbursements` backend\n // flag (default-on globally, expected removal 2026-09-01).\n // TODO(post-2026-09-01): drop the branch once the flag is gone.\n ...(usesItemizedReimbursements && reimbursements\n ? { reimbursements: cleanupReimbursements(reimbursements) }\n : {}),\n }\n }\n\n const onSave = async (updatedCompensation: PayrollEmployeeCompensationsType) => {\n const transformedCompensation = transformEmployeeCompensation(updatedCompensation)\n await baseSubmitHandler(null, async () => {\n const result = await updatePayroll({\n request: {\n companyId,\n payrollId,\n payrollUpdate: {\n employeeCompensations: [transformedCompensation],\n },\n },\n })\n\n await queryClient.invalidateQueries({\n queryKey: [PREPARE_QUERY_KEY, payrollId],\n })\n\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_SAVED, {\n payrollPrepared: result.payrollPrepared,\n employee,\n })\n })\n }\n\n const onCancel = () => {\n onEvent(componentEvents.RUN_PAYROLL_EMPLOYEE_CANCELLED)\n }\n\n if (isLoading) {\n return <LoadingIndicator />\n }\n\n return (\n <PayrollEditEmployeePresentation\n onSave={onSave}\n onCancel={onCancel}\n employee={employee}\n isPending={isPending}\n employeeCompensation={employeeCompensation}\n fixedCompensationTypes={preparedPayroll?.fixedCompensationTypes || []}\n payPeriodStartDate={preparedPayroll?.payPeriod?.startDate}\n paySchedule={paySchedule}\n payrollCategory={payrollCategory}\n withReimbursements={withReimbursements}\n hasDirectDepositSetup={hasDirectDepositSetup}\n />\n )\n}\n"],"names":["PayrollEditEmployee","props","jsx","BaseComponent","Root","employeeId","companyId","payrollId","onEvent","dictionary","withReimbursements","useComponentDictionary","queryClient","useQueryClient","LoadingIndicator","baseSubmitHandler","useBase","employeeData","useEmployeesGetSuspense","bankAccountsList","useEmployeePaymentMethodsGetBankAccountsSuspense","memoizedEmployeeId","useMemo","preparedPayroll","paySchedule","isLoading","usePreparedPayrollData","updatePayroll","isPending","usePayrollsUpdateMutation","employee","employeeCompensation","hasDirectDepositSetup","payrollCategory","derivePayrollCategory","usesItemizedReimbursements","isOffCyclePayroll","transformEmployeeCompensation","paymentMethod","reimbursements","compensation","cleanupReimbursements","onSave","updatedCompensation","transformedCompensation","result","PREPARE_QUERY_KEY","componentEvents","onCancel","PayrollEditEmployeePresentation"],"mappings":";;;;;;;;;;;;;;;AAkEO,SAASA,GAAoBC,GAAiC;AACnE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,MAAMG,IAAO,CAAC;AAAA,EACZ,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC,IAAqB;AACvB,MAAgC;AAC9B,EAAAC,EAAuB,+BAA+BF,CAAU;AAEhE,QAAMG,IAAcC,EAAA,GACd,EAAE,kBAAAC,GAAkB,mBAAAC,EAAA,IAAsBC,EAAA,GAE1C,EAAE,MAAMC,EAAA,IAAiBC,EAAwB,EAAE,YAAAb,GAAY,GAC/D,EAAE,MAAMc,EAAA,IAAqBC,EAAiD;AAAA,IAClF,YAAAf;AAAA,EAAA,CACD,GACKgB,IAAqBC,EAAQ,MAAM,CAACjB,CAAU,GAAG,CAACA,CAAU,CAAC,GAC7D,EAAE,iBAAAkB,GAAiB,aAAAC,GAAa,WAAAC,EAAA,IAAcC,EAAuB;AAAA,IACzE,WAAApB;AAAA,IACA,WAAAC;AAAA,IACA,eAAec;AAAA,EAAA,CAChB,GAEK,EAAE,aAAaM,GAAe,WAAAC,EAAA,IAAcC,EAAA,GAE5CC,IAAWb,EAAa,UACxBc,IAAuBR,GAAiB,uBAAuB,GAAG,CAAC,GAEnES,KADeb,EAAiB,wBAAwB,CAAA,GACnB,SAAS,GAC9Cc,IAAkBC,EAAsBX,KAAmB,EAAE,GAC7DY,IAA6B,CAACC,EAAkBH,CAAe,GAE/DI,IAAgC,CAAC;AAAA,IACrC,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,OAEI;AAAA,IACL,GAAGA;AAAA,IACH,GAAIF,KAAiBA,MAAkB,eAAe,EAAE,eAAAA,EAAA,IAAkB,CAAA;AAAA,IAC1E,MAAME,EAAa,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,IAK3B,GAAIL,KAA8BI,IAC9B,EAAE,gBAAgBE,EAAsBF,CAAc,MACtD,CAAA;AAAA,EAAC,IAIHG,IAAS,OAAOC,MAA0D;AAC9E,UAAMC,IAA0BP,EAA8BM,CAAmB;AACjF,UAAM5B,EAAkB,MAAM,YAAY;AACxC,YAAM8B,IAAS,MAAMlB,EAAc;AAAA,QACjC,SAAS;AAAA,UACP,WAAArB;AAAA,UACA,WAAAC;AAAA,UACA,eAAe;AAAA,YACb,uBAAuB,CAACqC,CAAuB;AAAA,UAAA;AAAA,QACjD;AAAA,MACF,CACD;AAED,YAAMhC,EAAY,kBAAkB;AAAA,QAClC,UAAU,CAACkC,GAAmBvC,CAAS;AAAA,MAAA,CACxC,GAEDC,EAAQuC,EAAgB,4BAA4B;AAAA,QAClD,iBAAiBF,EAAO;AAAA,QACxB,UAAAf;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAAA,EACH,GAEMkB,IAAW,MAAM;AACrB,IAAAxC,EAAQuC,EAAgB,8BAA8B;AAAA,EACxD;AAEA,SAAItB,sBACMX,GAAA,EAAiB,IAIzB,gBAAAZ;AAAA,IAAC+C;AAAA,IAAA;AAAA,MACC,QAAAP;AAAA,MACA,UAAAM;AAAA,MACA,UAAAlB;AAAA,MACA,WAAAF;AAAA,MACA,sBAAAG;AAAA,MACA,wBAAwBR,GAAiB,0BAA0B,CAAA;AAAA,MACnE,oBAAoBA,GAAiB,WAAW;AAAA,MAChD,aAAAC;AAAA,MACA,iBAAAS;AAAA,MACA,oBAAAvB;AAAA,MACA,uBAAAsB;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -47,8 +47,7 @@ export interface PayrollExecutionFlowProps {
47
47
  initialState?: PayrollExecutionInitialState;
48
48
  }
49
49
  /**
50
- * Shared execution flow that runs the configuration, overview, submission, and receipt steps for a
51
- * single payroll.
50
+ * Guided flow to configure, review, and submit a single payroll.
52
51
  *
53
52
  * @remarks
54
53
  * This is the inner flow that powers the back half of `Payroll.PayrollFlow`, and it is also reused
@@ -57,10 +56,10 @@ export interface PayrollExecutionFlowProps {
57
56
  * the user off to the standard execution experience without re-implementing it. The flow ships
58
57
  * with breadcrumb navigation and the standard wire-confirmation UX.
59
58
  *
59
+ * @events
60
60
  * | Event | Description | Data |
61
61
  * | ----- | ----------- | ---- |
62
62
  * | `runPayroll/edit` | Fired when user chooses to edit payroll | — |
63
- * | `runPayroll/back` | Fired when user navigates back | — |
64
63
  * | `runPayroll/calculated` | Fired when payroll calculation completes | `{ payrollUuid, payPeriod?, alert? }` |
65
64
  * | `runPayroll/employee/edit` | Fired when user opens an employee row to edit | `{ employeeId, firstName, lastName }` |
66
65
  * | `runPayroll/employee/saved` | Fired when employee edits are saved | — |
@@ -76,8 +75,34 @@ export interface PayrollExecutionFlowProps {
76
75
  * | `runPayroll/blockers/viewAll` | Fired when user opens the full blockers list | — |
77
76
  * | `payroll/saveAndExit` | Fired when user uses the save-and-exit CTA | — |
78
77
  *
78
+ * @components
79
+ * - {@link PayrollConfiguration}
80
+ * - {@link PayrollOverview}
81
+ * - {@link PayrollEditEmployee}
82
+ * - {@link PayrollReceipts}
83
+ * - {@link PayrollBlockerList}
84
+ *
79
85
  * @param input - {@link PayrollExecutionFlowProps}
80
86
  * @returns The rendered execution flow.
81
87
  * @public
88
+ *
89
+ * @example
90
+ * ```tsx title="App.tsx"
91
+ * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'
92
+ *
93
+ * function MyApp() {
94
+ * return (
95
+ * <Payroll.PayrollExecutionFlow
96
+ * companyId="a007e1ab-3595-43c2-ab4b-af7a5af2e365"
97
+ * payrollId="0987fcea-7b59-4907-a301-f232b5aff508"
98
+ * onEvent={(eventType: EventType) => {
99
+ * if (eventType === 'runPayroll/submitted') {
100
+ * // Payroll submitted — navigate to your next screen
101
+ * }
102
+ * }}
103
+ * />
104
+ * )
105
+ * }
106
+ * ```
82
107
  */
83
108
  export declare function PayrollExecutionFlow({ companyId, payrollId, onEvent, initialPayPeriod, isDismissalPayroll: isDismissal, withReimbursements, ConfirmWireDetailsComponent, prefixBreadcrumbs, initialState, }: PayrollExecutionFlowProps): import("react").JSX.Element;