@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,6 +1,6 @@
1
1
  import { TransitionFlowProps } from './TransitionFlowComponents';
2
2
  /**
3
- * Multi-step flow for running a transition payroll that covers the gap between an old and new pay schedule.
3
+ * Guided flow to run a transition payroll between pay schedules.
4
4
  *
5
5
  * @remarks
6
6
  * Starts on the creation step (configure check date, deductions, and tax withholding for the
@@ -9,6 +9,7 @@ import { TransitionFlowProps } from './TransitionFlowComponents';
9
9
  *
10
10
  * If a `payrollUuid` is supplied, the flow skips creation and resumes directly in execution.
11
11
  *
12
+ * @events
12
13
  * | Event | Description | Data |
13
14
  * | ----- | ----------- | ---- |
14
15
  * | `breadcrumb/navigate` | Fired when the user navigates back to the creation step via breadcrumbs | `{ key: string }` |
@@ -16,8 +17,33 @@ import { TransitionFlowProps } from './TransitionFlowComponents';
16
17
  *
17
18
  * Once execution begins, all standard run-payroll events are emitted as well.
18
19
  *
20
+ * @components
21
+ * - {@link TransitionCreation}
22
+ * - {@link PayrollExecutionFlow}
23
+ *
19
24
  * @param props - See {@link TransitionFlowProps}.
20
25
  * @returns The transition payroll flow.
21
26
  * @public
27
+ *
28
+ * @example
29
+ * ```tsx title="App.tsx"
30
+ * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'
31
+ *
32
+ * function MyApp() {
33
+ * return (
34
+ * <Payroll.TransitionFlow
35
+ * companyId="a007e1ab-3595-43c2-ab4b-af7a5af2e365"
36
+ * startDate="2025-01-16"
37
+ * endDate="2025-01-31"
38
+ * payScheduleUuid="c75c1ef6-2ec0-4cca-94a5-8b4cf7e5ea21"
39
+ * onEvent={(eventType: EventType) => {
40
+ * if (eventType === 'runPayroll/submitted') {
41
+ * // Payroll submitted — navigate to your next screen
42
+ * }
43
+ * }}
44
+ * />
45
+ * )
46
+ * }
47
+ * ```
22
48
  */
23
49
  export declare function TransitionFlow({ companyId, startDate, endDate, payScheduleUuid, payrollUuid, onEvent, }: TransitionFlowProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"TransitionFlow.js","sources":["../../../../src/components/Payroll/Transition/TransitionFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { transitionMachine, transitionBreadcrumbsNodes } from './transitionStateMachine'\nimport {\n TransitionCreationContextual,\n TransitionExecutionContextual,\n type TransitionFlowContextInterface,\n type TransitionFlowProps,\n} from './TransitionFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Multi-step flow for running a transition payroll that covers the gap between an old and new pay schedule.\n *\n * @remarks\n * Starts on the creation step (configure check date, deductions, and tax withholding for the\n * transition pay period). After the payroll is created, the flow hands off to the standard\n * payroll execution experience — configure compensation, review, submit, and view receipts.\n *\n * If a `payrollUuid` is supplied, the flow skips creation and resumes directly in execution.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `breadcrumb/navigate` | Fired when the user navigates back to the creation step via breadcrumbs | `{ key: string }` |\n * | `transition/created` | Fired when the transition payroll is created and the flow advances to execution | `{ payrollUuid: string }` |\n *\n * Once execution begins, all standard run-payroll events are emitted as well.\n *\n * @param props - See {@link TransitionFlowProps}.\n * @returns The transition payroll flow.\n * @public\n */\nexport function TransitionFlow({\n companyId,\n startDate,\n endDate,\n payScheduleUuid,\n payrollUuid,\n onEvent,\n}: TransitionFlowProps) {\n const hasExistingPayroll = Boolean(payrollUuid)\n const initialState = hasExistingPayroll ? 'execution' : 'createTransitionPayroll'\n const initialComponent = hasExistingPayroll\n ? TransitionExecutionContextual\n : TransitionCreationContextual\n\n const transitionFlowMachine = useMemo(\n () =>\n createMachine(\n initialState,\n transitionMachine,\n (initialContext: TransitionFlowContextInterface) => ({\n ...initialContext,\n component: initialComponent,\n companyId,\n startDate,\n endDate,\n payScheduleUuid,\n payrollUuid,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(transitionBreadcrumbsNodes),\n currentBreadcrumbId: hasExistingPayroll ? undefined : 'createTransitionPayroll',\n },\n }),\n ),\n [companyId, startDate, endDate, payScheduleUuid, payrollUuid],\n )\n\n return <Flow machine={transitionFlowMachine} onEvent={onEvent} />\n}\n"],"names":["TransitionFlow","companyId","startDate","endDate","payScheduleUuid","payrollUuid","onEvent","hasExistingPayroll","initialState","initialComponent","TransitionExecutionContextual","TransitionCreationContextual","transitionFlowMachine","useMemo","createMachine","transitionMachine","initialContext","buildBreadcrumbs","transitionBreadcrumbsNodes","jsx","Flow"],"mappings":";;;;;;;AAiCO,SAASA,EAAe;AAAA,EAC7B,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AACF,GAAwB;AACtB,QAAMC,IAAqB,EAAQF,GAC7BG,IAAeD,IAAqB,cAAc,2BAClDE,IAAmBF,IACrBG,IACAC,GAEEC,IAAwBC;AAAA,IAC5B,MACEC;AAAA,MACEN;AAAA,MACAO;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWP;AAAA,QACX,WAAAR;AAAA,QACA,WAAAC;AAAA,QACA,SAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,aAAAC;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaY,EAAiBC,CAA0B;AAAA,UACxD,qBAAqBX,IAAqB,SAAY;AAAA,QAAA;AAAA,MACxD;AAAA,IACF;AAAA,IAEJ,CAACN,GAAWC,GAAWC,GAASC,GAAiBC,CAAW;AAAA,EAAA;AAG9D,SAAO,gBAAAc,EAACC,GAAA,EAAK,SAASR,GAAuB,SAAAN,EAAA,CAAkB;AACjE;"}
1
+ {"version":3,"file":"TransitionFlow.js","sources":["../../../../src/components/Payroll/Transition/TransitionFlow.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { createMachine } from 'robot3'\nimport { transitionMachine, transitionBreadcrumbsNodes } from './transitionStateMachine'\nimport {\n TransitionCreationContextual,\n TransitionExecutionContextual,\n type TransitionFlowContextInterface,\n type TransitionFlowProps,\n} from './TransitionFlowComponents'\nimport { Flow } from '@/components/Flow/Flow'\nimport { buildBreadcrumbs } from '@/helpers/breadcrumbHelpers'\n\n/**\n * Guided flow to run a transition payroll between pay schedules.\n *\n * @remarks\n * Starts on the creation step (configure check date, deductions, and tax withholding for the\n * transition pay period). After the payroll is created, the flow hands off to the standard\n * payroll execution experience — configure compensation, review, submit, and view receipts.\n *\n * If a `payrollUuid` is supplied, the flow skips creation and resumes directly in execution.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `breadcrumb/navigate` | Fired when the user navigates back to the creation step via breadcrumbs | `{ key: string }` |\n * | `transition/created` | Fired when the transition payroll is created and the flow advances to execution | `{ payrollUuid: string }` |\n *\n * Once execution begins, all standard run-payroll events are emitted as well.\n *\n * @components\n * - {@link TransitionCreation}\n * - {@link PayrollExecutionFlow}\n *\n * @param props - See {@link TransitionFlowProps}.\n * @returns The transition payroll flow.\n * @public\n *\n * @example\n * ```tsx title=\"App.tsx\"\n * import { Payroll, type EventType } from '@gusto/embedded-react-sdk'\n *\n * function MyApp() {\n * return (\n * <Payroll.TransitionFlow\n * companyId=\"a007e1ab-3595-43c2-ab4b-af7a5af2e365\"\n * startDate=\"2025-01-16\"\n * endDate=\"2025-01-31\"\n * payScheduleUuid=\"c75c1ef6-2ec0-4cca-94a5-8b4cf7e5ea21\"\n * onEvent={(eventType: EventType) => {\n * if (eventType === 'runPayroll/submitted') {\n * // Payroll submitted — navigate to your next screen\n * }\n * }}\n * />\n * )\n * }\n * ```\n */\nexport function TransitionFlow({\n companyId,\n startDate,\n endDate,\n payScheduleUuid,\n payrollUuid,\n onEvent,\n}: TransitionFlowProps) {\n const hasExistingPayroll = Boolean(payrollUuid)\n const initialState = hasExistingPayroll ? 'execution' : 'createTransitionPayroll'\n const initialComponent = hasExistingPayroll\n ? TransitionExecutionContextual\n : TransitionCreationContextual\n\n const transitionFlowMachine = useMemo(\n () =>\n createMachine(\n initialState,\n transitionMachine,\n (initialContext: TransitionFlowContextInterface) => ({\n ...initialContext,\n component: initialComponent,\n companyId,\n startDate,\n endDate,\n payScheduleUuid,\n payrollUuid,\n header: {\n type: 'breadcrumbs' as const,\n breadcrumbs: buildBreadcrumbs(transitionBreadcrumbsNodes),\n currentBreadcrumbId: hasExistingPayroll ? undefined : 'createTransitionPayroll',\n },\n }),\n ),\n [companyId, startDate, endDate, payScheduleUuid, payrollUuid],\n )\n\n return <Flow machine={transitionFlowMachine} onEvent={onEvent} />\n}\n"],"names":["TransitionFlow","companyId","startDate","endDate","payScheduleUuid","payrollUuid","onEvent","hasExistingPayroll","initialState","initialComponent","TransitionExecutionContextual","TransitionCreationContextual","transitionFlowMachine","useMemo","createMachine","transitionMachine","initialContext","buildBreadcrumbs","transitionBreadcrumbsNodes","jsx","Flow"],"mappings":";;;;;;;AA2DO,SAASA,EAAe;AAAA,EAC7B,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AACF,GAAwB;AACtB,QAAMC,IAAqB,EAAQF,GAC7BG,IAAeD,IAAqB,cAAc,2BAClDE,IAAmBF,IACrBG,IACAC,GAEEC,IAAwBC;AAAA,IAC5B,MACEC;AAAA,MACEN;AAAA,MACAO;AAAA,MACA,CAACC,OAAoD;AAAA,QACnD,GAAGA;AAAA,QACH,WAAWP;AAAA,QACX,WAAAR;AAAA,QACA,WAAAC;AAAA,QACA,SAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,aAAAC;AAAA,QACA,QAAQ;AAAA,UACN,MAAM;AAAA,UACN,aAAaY,EAAiBC,CAA0B;AAAA,UACxD,qBAAqBX,IAAqB,SAAY;AAAA,QAAA;AAAA,MACxD;AAAA,IACF;AAAA,IAEJ,CAACN,GAAWC,GAAWC,GAASC,GAAiBC,CAAW;AAAA,EAAA;AAG9D,SAAO,gBAAAc,EAACC,GAAA,EAAK,SAASR,GAAuB,SAAAN,EAAA,CAAkB;AACjE;"}
@@ -6,7 +6,7 @@ import { TransitionCreationProps } from './TransitionCreationTypes';
6
6
  * date, deduction preference, and tax withholding configuration before submitting the
7
7
  * resulting off-cycle payroll for execution.
8
8
  *
9
- * @remarks
9
+ * @events
10
10
  * | Event | Description | Data |
11
11
  * | ----- | ----------- | ---- |
12
12
  * | `transition/created` | The transition payroll has been created | `{ payrollUuid: string }` |
@@ -1 +1 @@
1
- {"version":3,"file":"TransitionCreation.js","sources":["../../../../src/components/Payroll/TransitionCreation/TransitionCreation.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsCreateOffCycle'\nimport {\n OffCycleReason,\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 { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGetAll'\nimport { useOffCyclePayPeriodDateValidation } from '../OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { TransitionCreationProps, TransitionCreationFormData } from './TransitionCreationTypes'\nimport { createTransitionCreationSchema } from './TransitionCreationTypes'\nimport { TransitionCreationPresentation } from './TransitionCreationPresentation'\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'\n\n/**\n * Creation form for transition payrolls covering the gap between an old and new pay schedule.\n *\n * Displays the transition pay period and pay schedule information, and collects a check\n * date, deduction preference, and tax withholding configuration before submitting the\n * resulting off-cycle payroll for execution.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `transition/created` | The transition payroll has been created | `{ payrollUuid: string }` |\n *\n * The check date must be at least the company's ACH lead time (typically two business\n * days) from today. Deductions default to included and tax withholding defaults to the\n * regular rate with an every-other-week pay period.\n *\n * @param props - {@link TransitionCreationProps} plus base component props.\n * @returns The transition payroll creation form.\n * @public\n */\nexport function TransitionCreation(props: TransitionCreationProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({\n dictionary,\n companyId,\n startDate,\n endDate,\n payScheduleUuid,\n}: TransitionCreationProps) {\n useComponentDictionary('Payroll.TransitionCreation', dictionary)\n useI18n('Payroll.TransitionCreation')\n useI18n('Payroll.OffCycleDeductionsSetting')\n useI18n('Payroll.OffCycleTaxWithholding')\n\n const { t } = useTranslation('Payroll.TransitionCreation')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { paymentSpeedDays } = useCompanyPaymentSpeed(companyId)\n\n const { minCheckDate } = useOffCyclePayPeriodDateValidation(paymentSpeedDays)\n const { mutateAsync: createTransitionPayroll, isPending } = usePayrollsCreateOffCycleMutation()\n\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({ companyId })\n\n const [taxWithholdingConfig, setTaxWithholdingConfig] = useState<OffCycleTaxWithholdingConfig>({\n withholdingPayPeriod: WithholdingPayPeriod.EveryOtherWeek,\n withholdingRate: 'regular',\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 payScheduleName = useMemo(() => {\n const schedules = paySchedulesData.payScheduleShowResponse ?? []\n const match = schedules.find(s => s.uuid === payScheduleUuid)\n return match?.customName ?? match?.name ?? null\n }, [paySchedulesData, payScheduleUuid])\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 schema = useMemo(\n () => createTransitionCreationSchema(translateValidation, minCheckDate, paymentSpeedDays),\n [t, minCheckDate, paymentSpeedDays],\n )\n\n const methods = useForm<TransitionCreationFormData>({\n resolver: zodResolver(schema),\n defaultValues: {\n checkDate: null,\n skipRegularDeductions: false,\n },\n })\n\n const onSubmit = async (data: TransitionCreationFormData) => {\n if (!data.checkDate) return\n\n await baseSubmitHandler(data, async () => {\n const response = await createTransitionPayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: OffCycleReason.TransitionFromOldPaySchedule,\n startDate: new RFCDate(startDate),\n endDate: new RFCDate(endDate),\n checkDate: new RFCDate(data.checkDate!),\n payScheduleUuid,\n skipRegularDeductions: data.skipRegularDeductions,\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(t('errors.missingPayrollId'))\n }\n\n onEvent(componentEvents.TRANSITION_CREATED, { payrollUuid })\n })\n }\n\n return (\n <FormProvider {...methods}>\n <Form onSubmit={methods.handleSubmit(onSubmit)}>\n <TransitionCreationPresentation\n startDate={startDate}\n endDate={endDate}\n payScheduleName={payScheduleName}\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":["TransitionCreation","props","jsx","BaseComponent","Root","dictionary","companyId","startDate","endDate","payScheduleUuid","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","paymentSpeedDays","useCompanyPaymentSpeed","minCheckDate","useOffCyclePayPeriodDateValidation","createTransitionPayroll","isPending","usePayrollsCreateOffCycleMutation","paySchedulesData","usePaySchedulesGetAllSuspense","taxWithholdingConfig","setTaxWithholdingConfig","useState","WithholdingPayPeriod","isTaxWithholdingModalOpen","setIsTaxWithholdingModalOpen","handleTaxWithholdingEditClick","useCallback","handleTaxWithholdingModalDone","config","handleTaxWithholdingModalCancel","payScheduleName","useMemo","match","s","translateValidation","key","options","schema","createTransitionCreationSchema","methods","useForm","zodResolver","onSubmit","data","response","OffCycleReason","RFCDate","payrollUuid","SDKInternalError","componentEvents","FormProvider","Form","TransitionCreationPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"TransitionCreation.js","sources":["../../../../src/components/Payroll/TransitionCreation/TransitionCreation.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { FormProvider, useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport { usePayrollsCreateOffCycleMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsCreateOffCycle'\nimport {\n OffCycleReason,\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 { usePaySchedulesGetAllSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGetAll'\nimport { useOffCyclePayPeriodDateValidation } from '../OffCyclePayPeriodDateForm/useOffCyclePayPeriodDateValidation'\nimport type { OffCycleTaxWithholdingConfig } from '../OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes'\nimport type { TransitionCreationProps, TransitionCreationFormData } from './TransitionCreationTypes'\nimport { createTransitionCreationSchema } from './TransitionCreationTypes'\nimport { TransitionCreationPresentation } from './TransitionCreationPresentation'\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'\n\n/**\n * Creation form for transition payrolls covering the gap between an old and new pay schedule.\n *\n * Displays the transition pay period and pay schedule information, and collects a check\n * date, deduction preference, and tax withholding configuration before submitting the\n * resulting off-cycle payroll for execution.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `transition/created` | The transition payroll has been created | `{ payrollUuid: string }` |\n *\n * The check date must be at least the company's ACH lead time (typically two business\n * days) from today. Deductions default to included and tax withholding defaults to the\n * regular rate with an every-other-week pay period.\n *\n * @param props - {@link TransitionCreationProps} plus base component props.\n * @returns The transition payroll creation form.\n * @public\n */\nexport function TransitionCreation(props: TransitionCreationProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props} />\n </BaseComponent>\n )\n}\n\nfunction Root({\n dictionary,\n companyId,\n startDate,\n endDate,\n payScheduleUuid,\n}: TransitionCreationProps) {\n useComponentDictionary('Payroll.TransitionCreation', dictionary)\n useI18n('Payroll.TransitionCreation')\n useI18n('Payroll.OffCycleDeductionsSetting')\n useI18n('Payroll.OffCycleTaxWithholding')\n\n const { t } = useTranslation('Payroll.TransitionCreation')\n const { onEvent, baseSubmitHandler } = useBase()\n\n const { paymentSpeedDays } = useCompanyPaymentSpeed(companyId)\n\n const { minCheckDate } = useOffCyclePayPeriodDateValidation(paymentSpeedDays)\n const { mutateAsync: createTransitionPayroll, isPending } = usePayrollsCreateOffCycleMutation()\n\n const { data: paySchedulesData } = usePaySchedulesGetAllSuspense({ companyId })\n\n const [taxWithholdingConfig, setTaxWithholdingConfig] = useState<OffCycleTaxWithholdingConfig>({\n withholdingPayPeriod: WithholdingPayPeriod.EveryOtherWeek,\n withholdingRate: 'regular',\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 payScheduleName = useMemo(() => {\n const schedules = paySchedulesData.payScheduleShowResponse ?? []\n const match = schedules.find(s => s.uuid === payScheduleUuid)\n return match?.customName ?? match?.name ?? null\n }, [paySchedulesData, payScheduleUuid])\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 schema = useMemo(\n () => createTransitionCreationSchema(translateValidation, minCheckDate, paymentSpeedDays),\n [t, minCheckDate, paymentSpeedDays],\n )\n\n const methods = useForm<TransitionCreationFormData>({\n resolver: zodResolver(schema),\n defaultValues: {\n checkDate: null,\n skipRegularDeductions: false,\n },\n })\n\n const onSubmit = async (data: TransitionCreationFormData) => {\n if (!data.checkDate) return\n\n await baseSubmitHandler(data, async () => {\n const response = await createTransitionPayroll({\n request: {\n companyId,\n requestBody: {\n offCycle: true,\n offCycleReason: OffCycleReason.TransitionFromOldPaySchedule,\n startDate: new RFCDate(startDate),\n endDate: new RFCDate(endDate),\n checkDate: new RFCDate(data.checkDate!),\n payScheduleUuid,\n skipRegularDeductions: data.skipRegularDeductions,\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(t('errors.missingPayrollId'))\n }\n\n onEvent(componentEvents.TRANSITION_CREATED, { payrollUuid })\n })\n }\n\n return (\n <FormProvider {...methods}>\n <Form onSubmit={methods.handleSubmit(onSubmit)}>\n <TransitionCreationPresentation\n startDate={startDate}\n endDate={endDate}\n payScheduleName={payScheduleName}\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":["TransitionCreation","props","jsx","BaseComponent","Root","dictionary","companyId","startDate","endDate","payScheduleUuid","useComponentDictionary","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","paymentSpeedDays","useCompanyPaymentSpeed","minCheckDate","useOffCyclePayPeriodDateValidation","createTransitionPayroll","isPending","usePayrollsCreateOffCycleMutation","paySchedulesData","usePaySchedulesGetAllSuspense","taxWithholdingConfig","setTaxWithholdingConfig","useState","WithholdingPayPeriod","isTaxWithholdingModalOpen","setIsTaxWithholdingModalOpen","handleTaxWithholdingEditClick","useCallback","handleTaxWithholdingModalDone","config","handleTaxWithholdingModalCancel","payScheduleName","useMemo","match","s","translateValidation","key","options","schema","createTransitionCreationSchema","methods","useForm","zodResolver","onSubmit","data","response","OffCycleReason","RFCDate","payrollUuid","SDKInternalError","componentEvents","FormProvider","Form","TransitionCreationPresentation"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { useState as M, useRef as m, useMemo as _, useCallback as y, useEffect as b } from "react";
1
+ import { useState as M, useRef as y, useMemo as _, useCallback as m, useEffect as b } from "react";
2
2
  import { usePayrollsPrepareMutation as L } from "@gusto/embedded-api-v-2025-11-15/react-query/payrollsPrepare";
3
3
  import { usePaySchedulesGet as D } from "@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGet";
4
4
  import { UnprocessableEntityError as T } from "@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror";
@@ -13,16 +13,15 @@ import "@gusto/embedded-api-v-2025-11-15/models/errors/sdkvalidationerror";
13
13
  import "@gusto/embedded-api-v-2025-11-15/models/errors/httpclienterrors";
14
14
  import "../../shared/constants.js";
15
15
  import "../../contexts/ComponentAdapter/useComponentContext.js";
16
- import "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
17
16
  import { retryAsync as x } from "../../helpers/retryAsync.js";
18
- const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.category === "invalid_operation") : !1, W = ({
17
+ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.category === "invalid_operation") : !1, V = ({
19
18
  companyId: e,
20
19
  payrollId: r,
21
20
  employeeUuids: a,
22
21
  sortBy: n,
23
22
  onDataReady: l
24
23
  }) => {
25
- const { mutateAsync: p, isPending: c } = L(), [o, f] = M(), t = m(!1), u = m(!1), { baseSubmitHandler: d } = w(), h = _(() => a?.join(",") ?? "", [a]), { data: S, isLoading: E } = D(
24
+ const { mutateAsync: c, isPending: p } = L(), [o, f] = M(), t = y(!1), u = y(!1), { baseSubmitHandler: d } = w(), h = _(() => a?.join(",") ?? "", [a]), { data: S, isLoading: E } = D(
26
25
  {
27
26
  companyId: e,
28
27
  payScheduleId: o?.payPeriod?.payScheduleUuid || ""
@@ -30,8 +29,8 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
30
29
  {
31
30
  enabled: !!o?.payPeriod?.payScheduleUuid
32
31
  }
33
- ), P = y(async () => {
34
- const i = await p({
32
+ ), P = m(async () => {
33
+ const i = await c({
35
34
  request: {
36
35
  companyId: e,
37
36
  payrollId: r,
@@ -42,7 +41,7 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
42
41
  }
43
42
  });
44
43
  f(i.payrollPrepared), i.payrollPrepared && (t.current = !0, l?.(i.payrollPrepared));
45
- }, [e, r, p, h, n, l]), s = y(async () => {
44
+ }, [e, r, c, h, n, l]), s = m(async () => {
46
45
  await d(
47
46
  null,
48
47
  () => x(P, {
@@ -55,7 +54,7 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
55
54
  b(() => {
56
55
  u.current || (u.current = !0, s());
57
56
  }, [s]);
58
- const g = c && !t.current, R = c && t.current, A = g || E;
57
+ const g = p && !t.current, R = p && t.current, A = g || E;
59
58
  return {
60
59
  handlePreparePayroll: s,
61
60
  preparedPayroll: o,
@@ -66,6 +65,6 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
66
65
  };
67
66
  };
68
67
  export {
69
- W as usePreparedPayrollData
68
+ V as usePreparedPayrollData
70
69
  };
71
70
  //# sourceMappingURL=usePreparedPayrollData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePreparedPayrollData.js","sources":["../../../src/components/Payroll/usePreparedPayrollData.ts"],"sourcesContent":["import { useState, useEffect, useCallback, useRef, useMemo } from 'react'\nimport { usePayrollsPrepareMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport type { PayScheduleShow } from '@gusto/embedded-api-v-2025-11-15/models/components/payscheduleshow'\nimport type { QueryParamSortBy } from '@gusto/embedded-api-v-2025-11-15/models/operations/putv1companiescompanyidpayrollspayrollidprepare'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { useBase } from '../Base'\nimport { retryAsync } from '@/helpers/retryAsync'\n\ninterface UsePreparedPayrollDataParams {\n companyId: string\n payrollId: string\n employeeUuids?: string[]\n sortBy?: QueryParamSortBy\n onDataReady?: (preparedPayroll: PayrollPrepared) => void\n}\n\ninterface UsePreparedPayrollDataReturn {\n handlePreparePayroll: () => Promise<void>\n preparedPayroll: PayrollPrepared | undefined\n paySchedule: PayScheduleShow | undefined\n isLoading: boolean\n isPaginating: boolean\n hasInitialData: boolean\n}\n\nconst PREPARE_MAX_ATTEMPTS = 4\nconst PREPARE_RETRY_DELAY_MS = 1500\n\nconst isPayrollBeingProcessedError = (error: unknown): boolean => {\n if (!(error instanceof UnprocessableEntityError)) return false\n return error.errors.some(e => e.category === 'invalid_operation')\n}\n\n/**\n * Wraps the prepare-payroll mutation and pay-schedule fetch, retrying while the payroll is still being processed.\n *\n * @remarks\n * Fires the prepare call once on mount, then exposes `handlePreparePayroll` for callers that need to re-prepare\n * (e.g. after sort or pagination changes). Distinguishes initial loading from subsequent pagination via\n * `isLoading` and `isPaginating`, and surfaces the pay schedule for the prepared payroll's pay period.\n *\n * @param params - The company and payroll identifiers, plus optional employee filter, sort, and ready callback.\n * @returns The prepared payroll, its pay schedule, loading flags, and a `handlePreparePayroll` callback to re-run.\n * @internal\n */\nexport const usePreparedPayrollData = ({\n companyId,\n payrollId,\n employeeUuids,\n sortBy,\n onDataReady,\n}: UsePreparedPayrollDataParams): UsePreparedPayrollDataReturn => {\n const { mutateAsync: preparePayroll, isPending: isPreparePayrollPending } =\n usePayrollsPrepareMutation()\n const [preparedPayroll, setPreparedPayroll] = useState<PayrollPrepared | undefined>()\n const hasInitialDataRef = useRef(false)\n const hasFiredRef = useRef(false)\n const { baseSubmitHandler } = useBase()\n\n const employeeUuidsKey = useMemo(() => employeeUuids?.join(',') ?? '', [employeeUuids])\n\n const { data: payScheduleData, isLoading: isPayScheduleLoading } = usePaySchedulesGet(\n {\n companyId,\n payScheduleId: preparedPayroll?.payPeriod?.payScheduleUuid || '',\n },\n {\n enabled: !!preparedPayroll?.payPeriod?.payScheduleUuid,\n },\n )\n\n const executePrepare = useCallback(async () => {\n const result = await preparePayroll({\n request: {\n companyId,\n payrollId,\n sortBy,\n requestBody: {\n employeeUuids,\n },\n },\n })\n setPreparedPayroll(result.payrollPrepared)\n if (result.payrollPrepared) {\n hasInitialDataRef.current = true\n onDataReady?.(result.payrollPrepared)\n }\n }, [companyId, payrollId, preparePayroll, employeeUuidsKey, sortBy, onDataReady])\n\n const handlePreparePayroll = useCallback(async () => {\n await baseSubmitHandler(null, () =>\n retryAsync(executePrepare, {\n maxAttempts: PREPARE_MAX_ATTEMPTS,\n delayMs: PREPARE_RETRY_DELAY_MS,\n shouldRetry: isPayrollBeingProcessedError,\n }),\n )\n }, [baseSubmitHandler, executePrepare])\n\n useEffect(() => {\n if (hasFiredRef.current) return\n hasFiredRef.current = true\n void handlePreparePayroll()\n }, [handlePreparePayroll])\n\n const isInitialLoading = isPreparePayrollPending && !hasInitialDataRef.current\n const isPaginating = isPreparePayrollPending && hasInitialDataRef.current\n const isLoading = isInitialLoading || isPayScheduleLoading\n\n return {\n handlePreparePayroll,\n preparedPayroll,\n paySchedule: payScheduleData?.payScheduleShow,\n isLoading,\n isPaginating,\n hasInitialData: hasInitialDataRef.current,\n }\n}\n"],"names":["PREPARE_MAX_ATTEMPTS","PREPARE_RETRY_DELAY_MS","isPayrollBeingProcessedError","error","UnprocessableEntityError","e","usePreparedPayrollData","companyId","payrollId","employeeUuids","sortBy","onDataReady","preparePayroll","isPreparePayrollPending","usePayrollsPrepareMutation","preparedPayroll","setPreparedPayroll","useState","hasInitialDataRef","useRef","hasFiredRef","baseSubmitHandler","useBase","employeeUuidsKey","useMemo","payScheduleData","isPayScheduleLoading","usePaySchedulesGet","executePrepare","useCallback","result","handlePreparePayroll","retryAsync","useEffect","isInitialLoading","isPaginating","isLoading"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,MAAMA,IAAuB,GACvBC,IAAyB,MAEzBC,IAA+B,CAACC,MAC9BA,aAAiBC,IAChBD,EAAM,OAAO,KAAK,CAAAE,MAAKA,EAAE,aAAa,mBAAmB,IADP,IAgB9CC,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AACF,MAAkE;AAChE,QAAM,EAAE,aAAaC,GAAgB,WAAWC,EAAA,IAC9CC,EAAA,GACI,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxCC,IAAoBC,EAAO,EAAK,GAChCC,IAAcD,EAAO,EAAK,GAC1B,EAAE,mBAAAE,EAAA,IAAsBC,EAAA,GAExBC,IAAmBC,EAAQ,MAAMf,GAAe,KAAK,GAAG,KAAK,IAAI,CAACA,CAAa,CAAC,GAEhF,EAAE,MAAMgB,GAAiB,WAAWC,MAAyBC;AAAA,IACjE;AAAA,MACE,WAAApB;AAAA,MACA,eAAeQ,GAAiB,WAAW,mBAAmB;AAAA,IAAA;AAAA,IAEhE;AAAA,MACE,SAAS,CAAC,CAACA,GAAiB,WAAW;AAAA,IAAA;AAAA,EACzC,GAGIa,IAAiBC,EAAY,YAAY;AAC7C,UAAMC,IAAS,MAAMlB,EAAe;AAAA,MAClC,SAAS;AAAA,QACP,WAAAL;AAAA,QACA,WAAAC;AAAA,QACA,QAAAE;AAAA,QACA,aAAa;AAAA,UACX,eAAAD;AAAA,QAAA;AAAA,MACF;AAAA,IACF,CACD;AACD,IAAAO,EAAmBc,EAAO,eAAe,GACrCA,EAAO,oBACTZ,EAAkB,UAAU,IAC5BP,IAAcmB,EAAO,eAAe;AAAA,EAExC,GAAG,CAACvB,GAAWC,GAAWI,GAAgBW,GAAkBb,GAAQC,CAAW,CAAC,GAE1EoB,IAAuBF,EAAY,YAAY;AACnD,UAAMR;AAAA,MAAkB;AAAA,MAAM,MAC5BW,EAAWJ,GAAgB;AAAA,QACzB,aAAa5B;AAAA,QACb,SAASC;AAAA,QACT,aAAaC;AAAA,MAAA,CACd;AAAA,IAAA;AAAA,EAEL,GAAG,CAACmB,GAAmBO,CAAc,CAAC;AAEtC,EAAAK,EAAU,MAAM;AACd,IAAIb,EAAY,YAChBA,EAAY,UAAU,IACjBW,EAAA;AAAA,EACP,GAAG,CAACA,CAAoB,CAAC;AAEzB,QAAMG,IAAmBrB,KAA2B,CAACK,EAAkB,SACjEiB,IAAetB,KAA2BK,EAAkB,SAC5DkB,IAAYF,KAAoBR;AAEtC,SAAO;AAAA,IACL,sBAAAK;AAAA,IACA,iBAAAhB;AAAA,IACA,aAAaU,GAAiB;AAAA,IAC9B,WAAAW;AAAA,IACA,cAAAD;AAAA,IACA,gBAAgBjB,EAAkB;AAAA,EAAA;AAEtC;"}
1
+ {"version":3,"file":"usePreparedPayrollData.js","sources":["../../../src/components/Payroll/usePreparedPayrollData.ts"],"sourcesContent":["import { useState, useEffect, useCallback, useRef, useMemo } from 'react'\nimport { usePayrollsPrepareMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api-v-2025-11-15/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api-v-2025-11-15/models/components/payroll'\nimport type { PayScheduleShow } from '@gusto/embedded-api-v-2025-11-15/models/components/payscheduleshow'\nimport type { QueryParamSortBy } from '@gusto/embedded-api-v-2025-11-15/models/operations/putv1companiescompanyidpayrollspayrollidprepare'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { useBase } from '../Base'\nimport { retryAsync } from '@/helpers/retryAsync'\n\ninterface UsePreparedPayrollDataParams {\n companyId: string\n payrollId: string\n employeeUuids?: string[]\n sortBy?: QueryParamSortBy\n onDataReady?: (preparedPayroll: PayrollPrepared) => void\n}\n\ninterface UsePreparedPayrollDataReturn {\n handlePreparePayroll: () => Promise<void>\n preparedPayroll: PayrollPrepared | undefined\n paySchedule: PayScheduleShow | undefined\n isLoading: boolean\n isPaginating: boolean\n hasInitialData: boolean\n}\n\nconst PREPARE_MAX_ATTEMPTS = 4\nconst PREPARE_RETRY_DELAY_MS = 1500\n\nconst isPayrollBeingProcessedError = (error: unknown): boolean => {\n if (!(error instanceof UnprocessableEntityError)) return false\n return error.errors.some(e => e.category === 'invalid_operation')\n}\n\n/**\n * Wraps the prepare-payroll mutation and pay-schedule fetch, retrying while the payroll is still being processed.\n *\n * @remarks\n * Fires the prepare call once on mount, then exposes `handlePreparePayroll` for callers that need to re-prepare\n * (e.g. after sort or pagination changes). Distinguishes initial loading from subsequent pagination via\n * `isLoading` and `isPaginating`, and surfaces the pay schedule for the prepared payroll's pay period.\n *\n * @param params - The company and payroll identifiers, plus optional employee filter, sort, and ready callback.\n * @returns The prepared payroll, its pay schedule, loading flags, and a `handlePreparePayroll` callback to re-run.\n * @internal\n */\nexport const usePreparedPayrollData = ({\n companyId,\n payrollId,\n employeeUuids,\n sortBy,\n onDataReady,\n}: UsePreparedPayrollDataParams): UsePreparedPayrollDataReturn => {\n const { mutateAsync: preparePayroll, isPending: isPreparePayrollPending } =\n usePayrollsPrepareMutation()\n const [preparedPayroll, setPreparedPayroll] = useState<PayrollPrepared | undefined>()\n const hasInitialDataRef = useRef(false)\n const hasFiredRef = useRef(false)\n const { baseSubmitHandler } = useBase()\n\n const employeeUuidsKey = useMemo(() => employeeUuids?.join(',') ?? '', [employeeUuids])\n\n const { data: payScheduleData, isLoading: isPayScheduleLoading } = usePaySchedulesGet(\n {\n companyId,\n payScheduleId: preparedPayroll?.payPeriod?.payScheduleUuid || '',\n },\n {\n enabled: !!preparedPayroll?.payPeriod?.payScheduleUuid,\n },\n )\n\n const executePrepare = useCallback(async () => {\n const result = await preparePayroll({\n request: {\n companyId,\n payrollId,\n sortBy,\n requestBody: {\n employeeUuids,\n },\n },\n })\n setPreparedPayroll(result.payrollPrepared)\n if (result.payrollPrepared) {\n hasInitialDataRef.current = true\n onDataReady?.(result.payrollPrepared)\n }\n }, [companyId, payrollId, preparePayroll, employeeUuidsKey, sortBy, onDataReady])\n\n const handlePreparePayroll = useCallback(async () => {\n await baseSubmitHandler(null, () =>\n retryAsync(executePrepare, {\n maxAttempts: PREPARE_MAX_ATTEMPTS,\n delayMs: PREPARE_RETRY_DELAY_MS,\n shouldRetry: isPayrollBeingProcessedError,\n }),\n )\n }, [baseSubmitHandler, executePrepare])\n\n useEffect(() => {\n if (hasFiredRef.current) return\n hasFiredRef.current = true\n void handlePreparePayroll()\n }, [handlePreparePayroll])\n\n const isInitialLoading = isPreparePayrollPending && !hasInitialDataRef.current\n const isPaginating = isPreparePayrollPending && hasInitialDataRef.current\n const isLoading = isInitialLoading || isPayScheduleLoading\n\n return {\n handlePreparePayroll,\n preparedPayroll,\n paySchedule: payScheduleData?.payScheduleShow,\n isLoading,\n isPaginating,\n hasInitialData: hasInitialDataRef.current,\n }\n}\n"],"names":["PREPARE_MAX_ATTEMPTS","PREPARE_RETRY_DELAY_MS","isPayrollBeingProcessedError","error","UnprocessableEntityError","e","usePreparedPayrollData","companyId","payrollId","employeeUuids","sortBy","onDataReady","preparePayroll","isPreparePayrollPending","usePayrollsPrepareMutation","preparedPayroll","setPreparedPayroll","useState","hasInitialDataRef","useRef","hasFiredRef","baseSubmitHandler","useBase","employeeUuidsKey","useMemo","payScheduleData","isPayScheduleLoading","usePaySchedulesGet","executePrepare","useCallback","result","handlePreparePayroll","retryAsync","useEffect","isInitialLoading","isPaginating","isLoading"],"mappings":";;;;;;;;;;;;;;;;AA2BA,MAAMA,IAAuB,GACvBC,IAAyB,MAEzBC,IAA+B,CAACC,MAC9BA,aAAiBC,IAChBD,EAAM,OAAO,KAAK,CAAAE,MAAKA,EAAE,aAAa,mBAAmB,IADP,IAgB9CC,IAAyB,CAAC;AAAA,EACrC,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AACF,MAAkE;AAChE,QAAM,EAAE,aAAaC,GAAgB,WAAWC,EAAA,IAC9CC,EAAA,GACI,CAACC,GAAiBC,CAAkB,IAAIC,EAAA,GACxCC,IAAoBC,EAAO,EAAK,GAChCC,IAAcD,EAAO,EAAK,GAC1B,EAAE,mBAAAE,EAAA,IAAsBC,EAAA,GAExBC,IAAmBC,EAAQ,MAAMf,GAAe,KAAK,GAAG,KAAK,IAAI,CAACA,CAAa,CAAC,GAEhF,EAAE,MAAMgB,GAAiB,WAAWC,MAAyBC;AAAA,IACjE;AAAA,MACE,WAAApB;AAAA,MACA,eAAeQ,GAAiB,WAAW,mBAAmB;AAAA,IAAA;AAAA,IAEhE;AAAA,MACE,SAAS,CAAC,CAACA,GAAiB,WAAW;AAAA,IAAA;AAAA,EACzC,GAGIa,IAAiBC,EAAY,YAAY;AAC7C,UAAMC,IAAS,MAAMlB,EAAe;AAAA,MAClC,SAAS;AAAA,QACP,WAAAL;AAAA,QACA,WAAAC;AAAA,QACA,QAAAE;AAAA,QACA,aAAa;AAAA,UACX,eAAAD;AAAA,QAAA;AAAA,MACF;AAAA,IACF,CACD;AACD,IAAAO,EAAmBc,EAAO,eAAe,GACrCA,EAAO,oBACTZ,EAAkB,UAAU,IAC5BP,IAAcmB,EAAO,eAAe;AAAA,EAExC,GAAG,CAACvB,GAAWC,GAAWI,GAAgBW,GAAkBb,GAAQC,CAAW,CAAC,GAE1EoB,IAAuBF,EAAY,YAAY;AACnD,UAAMR;AAAA,MAAkB;AAAA,MAAM,MAC5BW,EAAWJ,GAAgB;AAAA,QACzB,aAAa5B;AAAA,QACb,SAASC;AAAA,QACT,aAAaC;AAAA,MAAA,CACd;AAAA,IAAA;AAAA,EAEL,GAAG,CAACmB,GAAmBO,CAAc,CAAC;AAEtC,EAAAK,EAAU,MAAM;AACd,IAAIb,EAAY,YAChBA,EAAY,UAAU,IACjBW,EAAA;AAAA,EACP,GAAG,CAACA,CAAoB,CAAC;AAEzB,QAAMG,IAAmBrB,KAA2B,CAACK,EAAkB,SACjEiB,IAAetB,KAA2BK,EAAkB,SAC5DkB,IAAYF,KAAoBR;AAEtC,SAAO;AAAA,IACL,sBAAAK;AAAA,IACA,iBAAAhB;AAAA,IACA,aAAaU,GAAiB;AAAA,IAC9B,WAAAW;AAAA,IACA,cAAAD;AAAA,IACA,gBAAgBjB,EAAkB;AAAA,EAAA;AAEtC;"}
@@ -4,14 +4,14 @@ import { BaseComponentInterface } from '../../Base';
4
4
  *
5
5
  * @public
6
6
  */
7
- export interface AddEmployeesHolidayProps extends BaseComponentInterface {
7
+ export interface AddEmployeesHolidayProps extends BaseComponentInterface<never> {
8
8
  /** The associated company identifier. */
9
9
  companyId: string;
10
10
  }
11
11
  /**
12
12
  * Employee selection screen for assigning employees to a company's holiday pay policy.
13
13
  *
14
- * @remarks
14
+ * @events
15
15
  * | Event | Description | Data |
16
16
  * | ----- | ----------- | ---- |
17
17
  * | `timeOff/holidayAddEmployees/done` | Employee selection is saved | The updated `HolidayPayPolicy` response, or `undefined` when no changes were submitted |
@@ -1 +1 @@
1
- {"version":3,"file":"AddEmployeesHoliday.js","sources":["../../../../src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.tsx"],"sourcesContent":["import { SelectEmployeesHoliday } from '../TimeOffManagement/SelectEmployees/SelectEmployeesHoliday'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link AddEmployeesHoliday}.\n *\n * @public\n */\nexport interface AddEmployeesHolidayProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Employee selection screen for assigning employees to a company's holiday pay policy.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidayAddEmployees/done` | Employee selection is saved | The updated `HolidayPayPolicy` response, or `undefined` when no changes were submitted |\n * | `CANCEL` | The user cancels | — |\n *\n * @param props - See {@link AddEmployeesHolidayProps}.\n * @returns The rendered holiday employee selection screen.\n * @public\n */\nexport function AddEmployeesHoliday(props: AddEmployeesHolidayProps) {\n return (\n <BaseComponent {...props}>\n <SelectEmployeesHoliday companyId={props.companyId} mode=\"standalone\" />\n </BaseComponent>\n )\n}\n"],"names":["AddEmployeesHoliday","props","jsx","BaseComponent","SelectEmployeesHoliday"],"mappings":";;;;AA0BO,SAASA,EAAoBC,GAAiC;AACnE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,GAAA,EAAuB,WAAWH,EAAM,WAAW,MAAK,aAAA,CAAa,EAAA,CACxE;AAEJ;"}
1
+ {"version":3,"file":"AddEmployeesHoliday.js","sources":["../../../../src/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.tsx"],"sourcesContent":["import { SelectEmployeesHoliday } from '../TimeOffManagement/SelectEmployees/SelectEmployeesHoliday'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link AddEmployeesHoliday}.\n *\n * @public\n */\nexport interface AddEmployeesHolidayProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Employee selection screen for assigning employees to a company's holiday pay policy.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidayAddEmployees/done` | Employee selection is saved | The updated `HolidayPayPolicy` response, or `undefined` when no changes were submitted |\n * | `CANCEL` | The user cancels | — |\n *\n * @param props - See {@link AddEmployeesHolidayProps}.\n * @returns The rendered holiday employee selection screen.\n * @public\n */\nexport function AddEmployeesHoliday(props: AddEmployeesHolidayProps) {\n return (\n <BaseComponent {...props}>\n <SelectEmployeesHoliday companyId={props.companyId} mode=\"standalone\" />\n </BaseComponent>\n )\n}\n"],"names":["AddEmployeesHoliday","props","jsx","BaseComponent","SelectEmployeesHoliday"],"mappings":";;;;AA0BO,SAASA,EAAoBC,GAAiC;AACnE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,GAAA,EAAuB,WAAWH,EAAM,WAAW,MAAK,aAAA,CAAa,EAAA,CACxE;AAEJ;"}
@@ -5,7 +5,7 @@ import { BaseComponentInterface } from '../../Base';
5
5
  *
6
6
  * @public
7
7
  */
8
- export interface AddEmployeesToPolicyProps extends BaseComponentInterface {
8
+ export interface AddEmployeesToPolicyProps extends BaseComponentInterface<never> {
9
9
  /** The associated company identifier. */
10
10
  companyId: string;
11
11
  /** The time off policy identifier. */
@@ -24,6 +24,7 @@ export interface AddEmployeesToPolicyProps extends BaseComponentInterface {
24
24
  * reassignment warning is shown, and removing a previously enrolled employee requires
25
25
  * confirmation.
26
26
  *
27
+ * @events
27
28
  * | Event | Description | Data |
28
29
  * | ----- | ----------- | ---- |
29
30
  * | `timeOff/addEmployees/done` | Fired when employee selection is saved | The updated time off policy, or `undefined` when no changes were submitted |
@@ -1 +1 @@
1
- {"version":3,"file":"AddEmployeesToPolicy.js","sources":["../../../../src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.tsx"],"sourcesContent":["import { SelectEmployeesTimeOff } from '../TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff'\nimport type { CreatableTimeOffPolicyType } from '../TimeOffFlow/timeOffPolicyTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link AddEmployeesToPolicy}.\n *\n * @public\n */\nexport interface AddEmployeesToPolicyProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n /** The time off policy identifier. */\n policyId: string\n /** The type of policy being edited — `'sick'` or `'vacation'`. */\n policyType: CreatableTimeOffPolicyType\n}\n\n/**\n * Employee selection screen for assigning employees to a sick or vacation time off policy.\n *\n * @remarks\n * Displays all active employees with search filtering and pagination. Employees already\n * enrolled in the policy are pre-selected, and carry-over balances are auto-populated\n * from each employee's existing paid time off data. Starting balances can be manually\n * set or overridden per employee. When employees are being moved from another policy a\n * reassignment warning is shown, and removing a previously enrolled employee requires\n * confirmation.\n *\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/addEmployees/done` | Fired when employee selection is saved | The updated time off policy, or `undefined` when no changes were submitted |\n * | `timeOff/addEmployees/back` | Fired when the user navigates back without saving | — |\n *\n * @param props - See {@link AddEmployeesToPolicyProps}.\n * @returns The employee selection screen for the policy.\n * @public\n *\n * @example\n * ```tsx\n * import { TimeOff } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <TimeOff.AddEmployeesToPolicy\n * companyId=\"your-company-id\"\n * policyId=\"policy-uuid\"\n * policyType=\"vacation\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function AddEmployeesToPolicy(props: AddEmployeesToPolicyProps) {\n return (\n <BaseComponent {...props}>\n <SelectEmployeesTimeOff\n companyId={props.companyId}\n policyId={props.policyId}\n policyType={props.policyType}\n mode=\"standalone\"\n />\n </BaseComponent>\n )\n}\n"],"names":["AddEmployeesToPolicy","props","jsx","BaseComponent","SelectEmployeesTimeOff"],"mappings":";;;;AAsDO,SAASA,EAAqBC,GAAkC;AACrE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWH,EAAM;AAAA,MACjB,UAAUA,EAAM;AAAA,MAChB,YAAYA,EAAM;AAAA,MAClB,MAAK;AAAA,IAAA;AAAA,EAAA,GAET;AAEJ;"}
1
+ {"version":3,"file":"AddEmployeesToPolicy.js","sources":["../../../../src/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.tsx"],"sourcesContent":["import { SelectEmployeesTimeOff } from '../TimeOffManagement/SelectEmployees/SelectEmployeesTimeOff'\nimport type { CreatableTimeOffPolicyType } from '../TimeOffFlow/timeOffPolicyTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\n\n/**\n * Props for {@link AddEmployeesToPolicy}.\n *\n * @public\n */\nexport interface AddEmployeesToPolicyProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n /** The time off policy identifier. */\n policyId: string\n /** The type of policy being edited — `'sick'` or `'vacation'`. */\n policyType: CreatableTimeOffPolicyType\n}\n\n/**\n * Employee selection screen for assigning employees to a sick or vacation time off policy.\n *\n * @remarks\n * Displays all active employees with search filtering and pagination. Employees already\n * enrolled in the policy are pre-selected, and carry-over balances are auto-populated\n * from each employee's existing paid time off data. Starting balances can be manually\n * set or overridden per employee. When employees are being moved from another policy a\n * reassignment warning is shown, and removing a previously enrolled employee requires\n * confirmation.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/addEmployees/done` | Fired when employee selection is saved | The updated time off policy, or `undefined` when no changes were submitted |\n * | `timeOff/addEmployees/back` | Fired when the user navigates back without saving | — |\n *\n * @param props - See {@link AddEmployeesToPolicyProps}.\n * @returns The employee selection screen for the policy.\n * @public\n *\n * @example\n * ```tsx\n * import { TimeOff } from '@gusto/embedded-react-sdk'\n *\n * function MyComponent() {\n * return (\n * <TimeOff.AddEmployeesToPolicy\n * companyId=\"your-company-id\"\n * policyId=\"policy-uuid\"\n * policyType=\"vacation\"\n * onEvent={() => {}}\n * />\n * )\n * }\n * ```\n */\nexport function AddEmployeesToPolicy(props: AddEmployeesToPolicyProps) {\n return (\n <BaseComponent {...props}>\n <SelectEmployeesTimeOff\n companyId={props.companyId}\n policyId={props.policyId}\n policyType={props.policyType}\n mode=\"standalone\"\n />\n </BaseComponent>\n )\n}\n"],"names":["AddEmployeesToPolicy","props","jsx","BaseComponent","SelectEmployeesTimeOff"],"mappings":";;;;AAuDO,SAASA,EAAqBC,GAAkC;AACrE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWH,EAAM;AAAA,MACjB,UAAUA,EAAM;AAAA,MAChB,YAAYA,EAAM;AAAA,MAClB,MAAK;AAAA,IAAA;AAAA,EAAA,GAET;AAEJ;"}
@@ -1,6 +1,6 @@
1
1
  import { BaseComponentInterface } from '../../Base';
2
2
  /** @internal */
3
- export interface HolidayPolicyDetailProps extends BaseComponentInterface {
3
+ export interface HolidayPolicyDetailProps extends BaseComponentInterface<'Company.TimeOff.HolidayPolicy' | 'Company.TimeOff.PolicyDetail'> {
4
4
  /** The associated company identifier. */
5
5
  companyId: string;
6
6
  /** Which tab to display initially. Defaults to `'holidays'`. */
@@ -1 +1 @@
1
- {"version":3,"file":"HolidayPolicyDetail.js","sources":["../../../../src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useHolidayPayPoliciesGetSuspense,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesRemoveEmployees'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport { getDefaultHolidayItems } from '../shared/holidayHelpers'\nimport { HolidayPolicyDetailPresentation } from './HolidayPolicyDetailPresentation'\nimport type { HolidayPolicyDetailEmployee } from './HolidayPolicyDetailTypes'\nimport { useClientPagination } from '@/hooks/useClientPagination/useClientPagination'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport EditIcon from '@/assets/icons/edit-02.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface HolidayPolicyDetailProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n /** Which tab to display initially. Defaults to `'holidays'`. */\n defaultTab?: 'holidays' | 'employees'\n}\n\n/** @internal */\nexport function HolidayPolicyDetail(props: HolidayPolicyDetailProps) {\n return (\n <BaseComponent {...props} componentName=\"Company.TimeOff.HolidayPolicy\">\n <Root {...props} />\n </BaseComponent>\n )\n}\n\ninterface RemoveDialogTarget {\n uuid: string\n name: string\n}\n\nfunction Root({ companyId, defaultTab = 'holidays' }: HolidayPolicyDetailProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n useI18n('Company.TimeOff.PolicyDetail')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { t: tShared } = useTranslation('Company.TimeOff.PolicyDetail')\n const { Button } = useComponentContext()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [selectedTabId, setSelectedTabId] = useState<string>(defaultTab)\n const [successAlert, setSuccessAlert] = useState<string | null>(null)\n const [removeDialogTarget, setRemoveDialogTarget] = useState<RemoveDialogTarget | null>(null)\n\n const holidayQuery = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const holidayPayPolicy = holidayQuery.data.holidayPayPolicy!\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n\n const removeEmployeesMutation = useHolidayPayPoliciesRemoveEmployeesMutation()\n\n const holidays = useMemo(() => {\n const allHolidays = getDefaultHolidayItems(t, undefined, locale)\n const { federalHolidays } = holidayPayPolicy\n return allHolidays.filter(holiday => {\n const holidayData = federalHolidays[holiday.uuid as keyof typeof federalHolidays]\n return holidayData?.selected === true\n })\n }, [t, holidayPayPolicy, locale])\n\n const policyEmployeeUuids = useMemo(\n () => new Set(holidayPayPolicy.employees.map(e => e.uuid)),\n [holidayPayPolicy.employees],\n )\n\n const employees: HolidayPolicyDetailEmployee[] = useMemo(() => {\n const allEmployees = employeesData.showEmployees ?? []\n return allEmployees\n .filter(emp => policyEmployeeUuids.has(emp.uuid))\n .map(emp => ({\n uuid: emp.uuid,\n firstName: emp.firstName,\n lastName: emp.lastName,\n jobTitle: emp.jobs?.find(job => job.primary)?.title ?? null,\n }))\n }, [employeesData.showEmployees, policyEmployeeUuids])\n\n const {\n data: pagedEmployees,\n pagination,\n searchValue,\n actions: paginationActions,\n } = useClientPagination(employees, {\n defaultItemsPerPage: 10,\n searchPredicate: (emp, query) =>\n `${emp.firstName ?? ''} ${emp.lastName ?? ''}`.toLowerCase().includes(query.toLowerCase()),\n })\n\n const handleRemoveEmployee = async () => {\n if (!removeDialogTarget) return\n\n const targetUuid = removeDialogTarget.uuid\n const targetName = removeDialogTarget.name\n setRemoveDialogTarget(null)\n\n await baseSubmitHandler({}, async () => {\n await removeEmployeesMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: holidayPayPolicy.version!,\n employees: [{ uuid: targetUuid }],\n },\n },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setSuccessAlert(t('flash.employeeRemoved', { name: targetName }))\n })\n }\n\n const handleBack = () => {\n onEvent(componentEvents.TIME_OFF_BACK_TO_LIST)\n }\n\n const handleAddEmployees = () => {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES)\n }\n\n const handleEditPolicy = () => {\n onEvent(componentEvents.TIME_OFF_EDIT_HOLIDAY_POLICY)\n }\n\n const actions = [\n <Button\n key=\"add\"\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={handleAddEmployees}\n >\n {t('show.addEmployeesCta')}\n </Button>,\n <Button\n key=\"edit\"\n variant=\"secondary\"\n icon={<EditIcon aria-hidden />}\n onClick={handleEditPolicy}\n >\n {t('show.editPolicyCta')}\n </Button>,\n ]\n\n return (\n <HolidayPolicyDetailPresentation\n title={t('show.title')}\n onBack={handleBack}\n backLabel={tShared('backLabel')}\n actions={actions}\n onAddEmployee={handleAddEmployees}\n holidays={holidays}\n selectedTabId={selectedTabId}\n onTabChange={setSelectedTabId}\n employees={{\n data: pagedEmployees,\n searchValue,\n onSearchChange: paginationActions.onSearchChange,\n onSearchClear: paginationActions.onSearchClear,\n pagination,\n itemMenu: employee => (\n <HamburgerMenu\n items={[\n {\n label: tShared('removeEmployeeDialog.confirmCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n setRemoveDialogTarget({\n uuid: employee.uuid,\n name: firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }),\n })\n },\n },\n ]}\n triggerLabel={tShared('employeeActions', {\n name: firstLastName({ first_name: employee.firstName, last_name: employee.lastName }),\n })}\n />\n ),\n }}\n removeDialog={{\n isOpen: removeDialogTarget !== null,\n employeeName: removeDialogTarget?.name ?? '',\n onConfirm: handleRemoveEmployee,\n onClose: () => {\n setRemoveDialogTarget(null)\n },\n isPending: removeEmployeesMutation.isPending,\n }}\n successAlert={successAlert ?? undefined}\n onDismissAlert={() => {\n setSuccessAlert(null)\n }}\n />\n )\n}\n"],"names":["HolidayPolicyDetail","props","jsx","BaseComponent","Root","companyId","defaultTab","useI18n","t","useTranslation","tShared","Button","useComponentContext","locale","useLocale","queryClient","useQueryClient","onEvent","baseSubmitHandler","useBase","selectedTabId","setSelectedTabId","useState","successAlert","setSuccessAlert","removeDialogTarget","setRemoveDialogTarget","holidayPayPolicy","useHolidayPayPoliciesGetSuspense","employeesData","useEmployeesListSuspense","removeEmployeesMutation","useHolidayPayPoliciesRemoveEmployeesMutation","holidays","useMemo","allHolidays","getDefaultHolidayItems","federalHolidays","holiday","policyEmployeeUuids","employees","emp","job","pagedEmployees","pagination","searchValue","paginationActions","useClientPagination","query","handleRemoveEmployee","targetUuid","targetName","invalidateAllHolidayPayPoliciesGet","handleBack","componentEvents","handleAddEmployees","handleEditPolicy","actions","PlusCircleIcon","EditIcon","HolidayPolicyDetailPresentation","employee","HamburgerMenu","TrashCanSvg","firstLastName"],"mappings":"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"}
1
+ {"version":3,"file":"HolidayPolicyDetail.js","sources":["../../../../src/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.tsx"],"sourcesContent":["import { useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useHolidayPayPoliciesGetSuspense,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesRemoveEmployeesMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesRemoveEmployees'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport { getDefaultHolidayItems } from '../shared/holidayHelpers'\nimport { HolidayPolicyDetailPresentation } from './HolidayPolicyDetailPresentation'\nimport type { HolidayPolicyDetailEmployee } from './HolidayPolicyDetailTypes'\nimport { useClientPagination } from '@/hooks/useClientPagination/useClientPagination'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\nimport EditIcon from '@/assets/icons/edit-02.svg?react'\nimport PlusCircleIcon from '@/assets/icons/plus-circle.svg?react'\n\n/** @internal */\nexport interface HolidayPolicyDetailProps extends BaseComponentInterface<\n 'Company.TimeOff.HolidayPolicy' | 'Company.TimeOff.PolicyDetail'\n> {\n /** The associated company identifier. */\n companyId: string\n /** Which tab to display initially. Defaults to `'holidays'`. */\n defaultTab?: 'holidays' | 'employees'\n}\n\n/** @internal */\nexport function HolidayPolicyDetail(props: HolidayPolicyDetailProps) {\n return (\n <BaseComponent {...props} componentName=\"Company.TimeOff.HolidayPolicy\">\n <Root {...props} />\n </BaseComponent>\n )\n}\n\ninterface RemoveDialogTarget {\n uuid: string\n name: string\n}\n\nfunction Root({ companyId, defaultTab = 'holidays' }: HolidayPolicyDetailProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n useI18n('Company.TimeOff.PolicyDetail')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { t: tShared } = useTranslation('Company.TimeOff.PolicyDetail')\n const { Button } = useComponentContext()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n const { onEvent, baseSubmitHandler } = useBase()\n\n const [selectedTabId, setSelectedTabId] = useState<string>(defaultTab)\n const [successAlert, setSuccessAlert] = useState<string | null>(null)\n const [removeDialogTarget, setRemoveDialogTarget] = useState<RemoveDialogTarget | null>(null)\n\n const holidayQuery = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const holidayPayPolicy = holidayQuery.data.holidayPayPolicy!\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n\n const removeEmployeesMutation = useHolidayPayPoliciesRemoveEmployeesMutation()\n\n const holidays = useMemo(() => {\n const allHolidays = getDefaultHolidayItems(t, undefined, locale)\n const { federalHolidays } = holidayPayPolicy\n return allHolidays.filter(holiday => {\n const holidayData = federalHolidays[holiday.uuid as keyof typeof federalHolidays]\n return holidayData?.selected === true\n })\n }, [t, holidayPayPolicy, locale])\n\n const policyEmployeeUuids = useMemo(\n () => new Set(holidayPayPolicy.employees.map(e => e.uuid)),\n [holidayPayPolicy.employees],\n )\n\n const employees: HolidayPolicyDetailEmployee[] = useMemo(() => {\n const allEmployees = employeesData.showEmployees ?? []\n return allEmployees\n .filter(emp => policyEmployeeUuids.has(emp.uuid))\n .map(emp => ({\n uuid: emp.uuid,\n firstName: emp.firstName,\n lastName: emp.lastName,\n jobTitle: emp.jobs?.find(job => job.primary)?.title ?? null,\n }))\n }, [employeesData.showEmployees, policyEmployeeUuids])\n\n const {\n data: pagedEmployees,\n pagination,\n searchValue,\n actions: paginationActions,\n } = useClientPagination(employees, {\n defaultItemsPerPage: 10,\n searchPredicate: (emp, query) =>\n `${emp.firstName ?? ''} ${emp.lastName ?? ''}`.toLowerCase().includes(query.toLowerCase()),\n })\n\n const handleRemoveEmployee = async () => {\n if (!removeDialogTarget) return\n\n const targetUuid = removeDialogTarget.uuid\n const targetName = removeDialogTarget.name\n setRemoveDialogTarget(null)\n\n await baseSubmitHandler({}, async () => {\n await removeEmployeesMutation.mutateAsync({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: holidayPayPolicy.version!,\n employees: [{ uuid: targetUuid }],\n },\n },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setSuccessAlert(t('flash.employeeRemoved', { name: targetName }))\n })\n }\n\n const handleBack = () => {\n onEvent(componentEvents.TIME_OFF_BACK_TO_LIST)\n }\n\n const handleAddEmployees = () => {\n onEvent(componentEvents.TIME_OFF_HOLIDAY_ADD_EMPLOYEES)\n }\n\n const handleEditPolicy = () => {\n onEvent(componentEvents.TIME_OFF_EDIT_HOLIDAY_POLICY)\n }\n\n const actions = [\n <Button\n key=\"add\"\n variant=\"secondary\"\n icon={<PlusCircleIcon aria-hidden />}\n onClick={handleAddEmployees}\n >\n {t('show.addEmployeesCta')}\n </Button>,\n <Button\n key=\"edit\"\n variant=\"secondary\"\n icon={<EditIcon aria-hidden />}\n onClick={handleEditPolicy}\n >\n {t('show.editPolicyCta')}\n </Button>,\n ]\n\n return (\n <HolidayPolicyDetailPresentation\n title={t('show.title')}\n onBack={handleBack}\n backLabel={tShared('backLabel')}\n actions={actions}\n onAddEmployee={handleAddEmployees}\n holidays={holidays}\n selectedTabId={selectedTabId}\n onTabChange={setSelectedTabId}\n employees={{\n data: pagedEmployees,\n searchValue,\n onSearchChange: paginationActions.onSearchChange,\n onSearchClear: paginationActions.onSearchClear,\n pagination,\n itemMenu: employee => (\n <HamburgerMenu\n items={[\n {\n label: tShared('removeEmployeeDialog.confirmCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n setRemoveDialogTarget({\n uuid: employee.uuid,\n name: firstLastName({\n first_name: employee.firstName,\n last_name: employee.lastName,\n }),\n })\n },\n },\n ]}\n triggerLabel={tShared('employeeActions', {\n name: firstLastName({ first_name: employee.firstName, last_name: employee.lastName }),\n })}\n />\n ),\n }}\n removeDialog={{\n isOpen: removeDialogTarget !== null,\n employeeName: removeDialogTarget?.name ?? '',\n onConfirm: handleRemoveEmployee,\n onClose: () => {\n setRemoveDialogTarget(null)\n },\n isPending: removeEmployeesMutation.isPending,\n }}\n successAlert={successAlert ?? undefined}\n onDismissAlert={() => {\n setSuccessAlert(null)\n }}\n />\n )\n}\n"],"names":["HolidayPolicyDetail","props","jsx","BaseComponent","Root","companyId","defaultTab","useI18n","t","useTranslation","tShared","Button","useComponentContext","locale","useLocale","queryClient","useQueryClient","onEvent","baseSubmitHandler","useBase","selectedTabId","setSelectedTabId","useState","successAlert","setSuccessAlert","removeDialogTarget","setRemoveDialogTarget","holidayPayPolicy","useHolidayPayPoliciesGetSuspense","employeesData","useEmployeesListSuspense","removeEmployeesMutation","useHolidayPayPoliciesRemoveEmployeesMutation","holidays","useMemo","allHolidays","getDefaultHolidayItems","federalHolidays","holiday","policyEmployeeUuids","employees","emp","job","pagedEmployees","pagination","searchValue","paginationActions","useClientPagination","query","handleRemoveEmployee","targetUuid","targetName","invalidateAllHolidayPayPoliciesGet","handleBack","componentEvents","handleAddEmployees","handleEditPolicy","actions","PlusCircleIcon","EditIcon","HolidayPolicyDetailPresentation","employee","HamburgerMenu","TrashCanSvg","firstLastName"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { BaseComponentInterface } from '../../Base';
4
4
  *
5
5
  * @public
6
6
  */
7
- export interface HolidaySelectionFormProps extends BaseComponentInterface {
7
+ export interface HolidaySelectionFormProps extends BaseComponentInterface<'Company.TimeOff.HolidayPolicy'> {
8
8
  /** The associated company identifier. */
9
9
  companyId: string;
10
10
  /** Whether to create a new holiday policy or edit the existing one. Defaults to `'create'`. */
@@ -18,7 +18,7 @@ export interface HolidaySelectionFormProps extends BaseComponentInterface {
18
18
  * federal holidays are shown with their observed and next-observation dates; in create mode they
19
19
  * are all selected by default.
20
20
  *
21
- * @remarks
21
+ * @events
22
22
  * | Event | Description | Data |
23
23
  * | ----- | ----------- | ---- |
24
24
  * | `timeOff/holidaySelection/done` | Holidays were saved in create mode | — |
@@ -1 +1 @@
1
- {"version":3,"file":"HolidaySelectionForm.js","sources":["../../../../src/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesCreate'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesUpdate'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/holidaypaypolicy'\nimport {\n getDefaultHolidayItems,\n buildFederalHolidaysPayload,\n FEDERAL_HOLIDAY_KEYS,\n} from '../shared/holidayHelpers'\nimport { HolidaySelectionFormPresentation } from './HolidaySelectionFormPresentation'\nimport type { HolidayItem } from './HolidaySelectionFormTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\n\n/**\n * Props for {@link HolidaySelectionForm}.\n *\n * @public\n */\nexport interface HolidaySelectionFormProps extends BaseComponentInterface {\n /** The associated company identifier. */\n companyId: string\n /** Whether to create a new holiday policy or edit the existing one. Defaults to `'create'`. */\n mode?: 'create' | 'edit'\n}\n\n/**\n * Lets a user select which US federal holidays are observed by the company's holiday pay policy.\n *\n * In `'create'` mode, submitting creates a new holiday pay policy. In `'edit'` mode, the form\n * is pre-populated with the existing policy's selections and submitting updates it. All 11 US\n * federal holidays are shown with their observed and next-observation dates; in create mode they\n * are all selected by default.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidaySelection/done` | Holidays were saved in create mode | — |\n * | `timeOff/holidaySelection/editDone` | Holidays were saved in edit mode | — |\n * | `CANCEL` | The user backed out of the form | — |\n *\n * @param props - See {@link HolidaySelectionFormProps}.\n * @returns The rendered holiday selection form.\n * @public\n */\nexport function HolidaySelectionForm(props: HolidaySelectionFormProps) {\n return (\n <BaseComponent {...props}>\n {props.mode === 'edit' ? (\n <EditRoot companyId={props.companyId} />\n ) : (\n <CreateRoot companyId={props.companyId} />\n )}\n </BaseComponent>\n )\n}\n\ninterface RootProps {\n companyId: string\n}\n\nfunction useHolidaySelection(initialKeys: Set<string>) {\n const [selectedUuids, setSelectedUuids] = useState(initialKeys)\n\n const handleSelectionChange = useCallback((item: HolidayItem, selected: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (selected) {\n next.add(item.uuid)\n } else {\n next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n const handleSelectAll = useCallback((selected: boolean, visibleItems: HolidayItem[]) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n for (const item of visibleItems) {\n if (selected) next.add(item.uuid)\n else next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n return { selectedUuids, handleSelectionChange, handleSelectAll }\n}\n\nfunction seedPolicyCache(\n queryClient: ReturnType<typeof useQueryClient>,\n companyId: string,\n policy: HolidayPayPolicy | undefined,\n) {\n if (!policy) return\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: policy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n}\n\nfunction CreateRoot({ companyId }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n const allKeys = useMemo(() => new Set(FEDERAL_HOLIDAY_KEYS), [])\n const { selectedUuids, handleSelectionChange, handleSelectAll } = useHolidaySelection(allKeys)\n\n const { mutateAsync: createPolicy, isPending } = useHolidayPayPoliciesCreateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await createPolicy({\n request: {\n companyUuid: companyId,\n holidayPayPolicyRequest: {\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n // Seed the GET cache so the next mount of SelectEmployeesHoliday's\n // StandaloneLoader (in addEmployeesHoliday state) reads the freshly\n // created policy instead of a stale `{ holidayPayPolicy: undefined }`\n // left over from PolicyList's pre-create GET.\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_DONE)\n })\n }, [baseSubmitHandler, createPolicy, companyId, selectedUuids, queryClient, onEvent])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n />\n )\n}\n\nfunction EditRoot({ companyId }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const { data } = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const policy = data.holidayPayPolicy!\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n\n const initialSelected = useMemo(() => {\n const next = new Set<string>()\n const federal = policy.federalHolidays\n for (const key of FEDERAL_HOLIDAY_KEYS) {\n const entry = federal[key as keyof typeof federal]\n if (entry?.selected === true) {\n next.add(key)\n }\n }\n return next\n }, [policy.federalHolidays])\n\n const { selectedUuids, handleSelectionChange, handleSelectAll } =\n useHolidaySelection(initialSelected)\n\n const { mutateAsync: updatePolicy, isPending } = useHolidayPayPoliciesUpdateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await updatePolicy({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: policy.version!,\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_EDIT_DONE)\n })\n }, [\n baseSubmitHandler,\n updatePolicy,\n companyId,\n policy.version,\n selectedUuids,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n />\n )\n}\n"],"names":["HolidaySelectionForm","props","BaseComponent","jsx","EditRoot","CreateRoot","useHolidaySelection","initialKeys","selectedUuids","setSelectedUuids","useState","handleSelectionChange","useCallback","item","selected","prev","next","handleSelectAll","visibleItems","seedPolicyCache","queryClient","companyId","policy","queryKeyHolidayPayPoliciesGet","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","locale","useLocale","useQueryClient","holidays","useMemo","getDefaultHolidayItems","allKeys","FEDERAL_HOLIDAY_KEYS","createPolicy","isPending","useHolidayPayPoliciesCreateMutation","handleContinue","response","buildFederalHolidaysPayload","invalidateAllHolidayPayPoliciesGet","componentEvents","handleBack","HolidaySelectionFormPresentation","data","useHolidayPayPoliciesGetSuspense","initialSelected","federal","key","updatePolicy","useHolidayPayPoliciesUpdateMutation"],"mappings":"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"}
1
+ {"version":3,"file":"HolidaySelectionForm.js","sources":["../../../../src/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport { useHolidayPayPoliciesCreateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesCreate'\nimport {\n useHolidayPayPoliciesGetSuspense,\n queryKeyHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n type HolidayPayPoliciesGetQueryData,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesUpdateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesUpdate'\nimport type { HolidayPayPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/holidaypaypolicy'\nimport {\n getDefaultHolidayItems,\n buildFederalHolidaysPayload,\n FEDERAL_HOLIDAY_KEYS,\n} from '../shared/holidayHelpers'\nimport { HolidaySelectionFormPresentation } from './HolidaySelectionFormPresentation'\nimport type { HolidayItem } from './HolidaySelectionFormTypes'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useBase } from '@/components/Base/useBase'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\nimport { useLocale } from '@/contexts/LocaleProvider/useLocale'\n\n/**\n * Props for {@link HolidaySelectionForm}.\n *\n * @public\n */\nexport interface HolidaySelectionFormProps extends BaseComponentInterface<'Company.TimeOff.HolidayPolicy'> {\n /** The associated company identifier. */\n companyId: string\n /** Whether to create a new holiday policy or edit the existing one. Defaults to `'create'`. */\n mode?: 'create' | 'edit'\n}\n\n/**\n * Lets a user select which US federal holidays are observed by the company's holiday pay policy.\n *\n * In `'create'` mode, submitting creates a new holiday pay policy. In `'edit'` mode, the form\n * is pre-populated with the existing policy's selections and submitting updates it. All 11 US\n * federal holidays are shown with their observed and next-observation dates; in create mode they\n * are all selected by default.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/holidaySelection/done` | Holidays were saved in create mode | — |\n * | `timeOff/holidaySelection/editDone` | Holidays were saved in edit mode | — |\n * | `CANCEL` | The user backed out of the form | — |\n *\n * @param props - See {@link HolidaySelectionFormProps}.\n * @returns The rendered holiday selection form.\n * @public\n */\nexport function HolidaySelectionForm(props: HolidaySelectionFormProps) {\n return (\n <BaseComponent {...props}>\n {props.mode === 'edit' ? (\n <EditRoot companyId={props.companyId} />\n ) : (\n <CreateRoot companyId={props.companyId} />\n )}\n </BaseComponent>\n )\n}\n\ninterface RootProps {\n companyId: string\n}\n\nfunction useHolidaySelection(initialKeys: Set<string>) {\n const [selectedUuids, setSelectedUuids] = useState(initialKeys)\n\n const handleSelectionChange = useCallback((item: HolidayItem, selected: boolean) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n if (selected) {\n next.add(item.uuid)\n } else {\n next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n const handleSelectAll = useCallback((selected: boolean, visibleItems: HolidayItem[]) => {\n setSelectedUuids(prev => {\n const next = new Set(prev)\n for (const item of visibleItems) {\n if (selected) next.add(item.uuid)\n else next.delete(item.uuid)\n }\n return next\n })\n }, [])\n\n return { selectedUuids, handleSelectionChange, handleSelectAll }\n}\n\nfunction seedPolicyCache(\n queryClient: ReturnType<typeof useQueryClient>,\n companyId: string,\n policy: HolidayPayPolicy | undefined,\n) {\n if (!policy) return\n queryClient.setQueryData<HolidayPayPoliciesGetQueryData>(\n queryKeyHolidayPayPoliciesGet(companyId, {}),\n prev =>\n prev\n ? { ...prev, holidayPayPolicy: policy }\n : (undefined as unknown as HolidayPayPoliciesGetQueryData),\n )\n}\n\nfunction CreateRoot({ companyId }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n const allKeys = useMemo(() => new Set(FEDERAL_HOLIDAY_KEYS), [])\n const { selectedUuids, handleSelectionChange, handleSelectAll } = useHolidaySelection(allKeys)\n\n const { mutateAsync: createPolicy, isPending } = useHolidayPayPoliciesCreateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await createPolicy({\n request: {\n companyUuid: companyId,\n holidayPayPolicyRequest: {\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n // Seed the GET cache so the next mount of SelectEmployeesHoliday's\n // StandaloneLoader (in addEmployeesHoliday state) reads the freshly\n // created policy instead of a stale `{ holidayPayPolicy: undefined }`\n // left over from PolicyList's pre-create GET.\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_DONE)\n })\n }, [baseSubmitHandler, createPolicy, companyId, selectedUuids, queryClient, onEvent])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n />\n )\n}\n\nfunction EditRoot({ companyId }: RootProps) {\n useI18n('Company.TimeOff.HolidayPolicy')\n const { t } = useTranslation('Company.TimeOff.HolidayPolicy')\n const { onEvent, baseSubmitHandler } = useBase()\n const { locale } = useLocale()\n const queryClient = useQueryClient()\n\n const { data } = useHolidayPayPoliciesGetSuspense({ companyUuid: companyId })\n const policy = data.holidayPayPolicy!\n\n const holidays = useMemo(() => getDefaultHolidayItems(t, undefined, locale), [t, locale])\n\n const initialSelected = useMemo(() => {\n const next = new Set<string>()\n const federal = policy.federalHolidays\n for (const key of FEDERAL_HOLIDAY_KEYS) {\n const entry = federal[key as keyof typeof federal]\n if (entry?.selected === true) {\n next.add(key)\n }\n }\n return next\n }, [policy.federalHolidays])\n\n const { selectedUuids, handleSelectionChange, handleSelectAll } =\n useHolidaySelection(initialSelected)\n\n const { mutateAsync: updatePolicy, isPending } = useHolidayPayPoliciesUpdateMutation()\n\n const handleContinue = useCallback(async () => {\n await baseSubmitHandler({}, async () => {\n const response = await updatePolicy({\n request: {\n companyUuid: companyId,\n requestBody: {\n version: policy.version!,\n federalHolidays: buildFederalHolidaysPayload(selectedUuids),\n },\n },\n })\n seedPolicyCache(queryClient, companyId, response.holidayPayPolicy)\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n onEvent(componentEvents.TIME_OFF_HOLIDAY_SELECTION_EDIT_DONE)\n })\n }, [\n baseSubmitHandler,\n updatePolicy,\n companyId,\n policy.version,\n selectedUuids,\n queryClient,\n onEvent,\n ])\n\n const handleBack = useCallback(() => {\n onEvent(componentEvents.CANCEL)\n }, [onEvent])\n\n return (\n <HolidaySelectionFormPresentation\n holidays={holidays}\n selectedHolidayUuids={selectedUuids}\n onSelectionChange={handleSelectionChange}\n onSelectAll={handleSelectAll}\n onContinue={handleContinue}\n onBack={handleBack}\n isPending={isPending}\n />\n )\n}\n"],"names":["HolidaySelectionForm","props","BaseComponent","jsx","EditRoot","CreateRoot","useHolidaySelection","initialKeys","selectedUuids","setSelectedUuids","useState","handleSelectionChange","useCallback","item","selected","prev","next","handleSelectAll","visibleItems","seedPolicyCache","queryClient","companyId","policy","queryKeyHolidayPayPoliciesGet","useI18n","t","useTranslation","onEvent","baseSubmitHandler","useBase","locale","useLocale","useQueryClient","holidays","useMemo","getDefaultHolidayItems","allKeys","FEDERAL_HOLIDAY_KEYS","createPolicy","isPending","useHolidayPayPoliciesCreateMutation","handleContinue","response","buildFederalHolidaysPayload","invalidateAllHolidayPayPoliciesGet","componentEvents","handleBack","HolidaySelectionFormPresentation","data","useHolidayPayPoliciesGetSuspense","initialSelected","federal","key","updatePolicy","useHolidayPayPoliciesUpdateMutation"],"mappings":"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"}
@@ -16,7 +16,7 @@ export interface PolicyListProps extends BaseComponentInterface<'Company.TimeOff
16
16
  * the holiday pay policy (if one exists) is merged into the same list and is deleted via the
17
17
  * holiday pay policy API. Both flows go through a confirmation dialog and show a success alert.
18
18
  *
19
- * @remarks
19
+ * @events
20
20
  * | Event | Description | Data |
21
21
  * | ----- | ----------- | ---- |
22
22
  * | `timeOff/createPolicy` | The user clicked the create-policy action. | — |
@@ -1 +1 @@
1
- {"version":3,"file":"PolicyList.js","sources":["../../../../src/components/TimeOff/PolicyList/PolicyList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useTimeOffPoliciesGetAllSuspense,\n invalidateAllTimeOffPoliciesGetAll,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGetAll'\nimport { useTimeOffPoliciesDeactivateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesDeactivate'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport {\n useHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesDelete'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/timeoffpolicy'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { PolicyListPresentation } from './PolicyListPresentation'\nimport type { PolicyListItem } from './PolicyListTypes'\nimport { isListedTimeOffPolicyType } from '@/components/TimeOff/TimeOffFlow/timeOffPolicyTypes'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for the {@link PolicyList} component.\n *\n * @public\n */\nexport interface PolicyListProps extends BaseComponentInterface<'Company.TimeOff.TimeOffPolicies'> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Displays all active time off policies (sick, vacation, and holiday) for a company.\n *\n * Each row shows the policy name and the enrolled-employee count. Incomplete policies surface a\n * finish-setup action. Sick and vacation policies are deactivated via the time-off policies API;\n * the holiday pay policy (if one exists) is merged into the same list and is deleted via the\n * holiday pay policy API. Both flows go through a confirmation dialog and show a success alert.\n *\n * @remarks\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/createPolicy` | The user clicked the create-policy action. | — |\n * | `timeOff/viewPolicy` | The user opened an existing policy or clicked finish-setup on an incomplete one. | `{ policyId: string, policyType: string }` |\n * | `timeOff/deletePolicy/done` | A policy was successfully deleted. | `{ policyId: string }` |\n *\n * @param props - {@link PolicyListProps}\n * @returns The rendered policy list.\n * @public\n */\nexport function PolicyList({ FallbackComponent, ...props }: PolicyListProps) {\n return (\n <BaseBoundaries\n componentName=\"Company.TimeOff.TimeOffPolicies\"\n FallbackComponent={FallbackComponent}\n >\n <Root {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction Root({ companyId, onEvent }: PolicyListProps) {\n useI18n('Company.TimeOff.TimeOffPolicies')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicies')\n const queryClient = useQueryClient()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('Company.TimeOff.TimeOffPolicies')\n\n const [deleteSuccessAlert, setDeleteSuccessAlert] = useState<string | null>(null)\n const [isDeletingPolicyId, setIsDeletingPolicyId] = useState<string | null>(null)\n\n const { data: policiesData } = useTimeOffPoliciesGetAllSuspense({\n companyUuid: companyId,\n })\n const timeOffPolicies = (policiesData.timeOffPolicies ?? []).filter(\n policy => policy.isActive && isListedTimeOffPolicyType(policy.policyType),\n )\n\n // Holiday pay policy is auxiliary to the main time-off list; never crash the\n // boundary on its failure. composeErrorHandler below surfaces the error as\n // an inline alert via BaseLayout when it isn't an expected 204/404.\n const holidayQuery = useHolidayPayPoliciesGet(\n { companyUuid: companyId },\n {\n throwOnError: () => false,\n },\n )\n const holidayPayPolicy = holidayQuery.data?.holidayPayPolicy\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n const totalActiveEmployees = employeesData.showEmployees?.length ?? 0\n\n const deactivatePolicyMutation = useTimeOffPoliciesDeactivateMutation()\n const deleteHolidayMutation = useHolidayPayPoliciesDeleteMutation()\n\n const errorHandling = composeErrorHandler([holidayQuery], { submitError, setSubmitError })\n const isPending = deactivatePolicyMutation.isPending || deleteHolidayMutation.isPending\n\n const getEnrolledDisplay = (enrolledCount: number) => {\n if (enrolledCount > 0 && enrolledCount === totalActiveEmployees) {\n return t('allEmployeesLabel')\n } else if (enrolledCount > 0) {\n return t('employeeCount', { count: enrolledCount })\n }\n return t('enrolledDash')\n }\n\n const policies: PolicyListItem[] = timeOffPolicies\n .map((policy: TimeOffPolicy) => ({\n uuid: policy.uuid,\n name: policy.name,\n policyType: policy.policyType,\n isComplete: policy.complete ?? false,\n enrolledDisplay: getEnrolledDisplay(policy.employees.length),\n }))\n .sort((a, b) => a.name.localeCompare(b.name))\n\n if (holidayPayPolicy) {\n policies.push({\n uuid: holidayPayPolicy.companyUuid,\n name: t('holidayPayPolicy'),\n policyType: 'holiday',\n isComplete: true,\n enrolledDisplay: getEnrolledDisplay(holidayPayPolicy.employees.length),\n isHoliday: true,\n })\n }\n\n const handleCreatePolicy = () => {\n onEvent(componentEvents.TIME_OFF_CREATE_POLICY)\n }\n\n const handleEditPolicy = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleFinishSetup = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleDeletePolicy = async (policy: PolicyListItem): Promise<boolean> => {\n let success = false\n setIsDeletingPolicyId(policy.uuid)\n await baseSubmitHandler({}, async () => {\n if (policy.isHoliday) {\n await deleteHolidayMutation.mutateAsync({\n request: { companyUuid: companyId },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setDeleteSuccessAlert(t('flash.holidayDeleted'))\n } else {\n try {\n await deactivatePolicyMutation.mutateAsync({\n request: { timeOffPolicyUuid: policy.uuid },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const hasPendingRequests = err.errors.some(\n e =>\n e.message?.toLowerCase().includes('pending') ||\n e.message?.toLowerCase().includes('approved'),\n )\n if (hasPendingRequests) {\n throw new SDKInternalError(\n t('errors.pendingRequestsBlockDeletion', { name: policy.name }),\n 'api_error',\n )\n }\n const messages = err.errors.map(e => e.message).filter(Boolean)\n throw new SDKInternalError(messages.join('. ') || t('errors.deleteFailed'), 'api_error')\n }\n throw err\n }\n await invalidateAllTimeOffPoliciesGetAll(queryClient)\n setDeleteSuccessAlert(t('flash.policyDeleted', { name: policy.name }))\n }\n onEvent(componentEvents.TIME_OFF_DELETE_POLICY_DONE, { policyId: policy.uuid })\n success = true\n })\n setIsDeletingPolicyId(null)\n return success\n }\n\n return (\n <BaseLayout error={errorHandling.errors}>\n <PolicyListPresentation\n policies={policies}\n onCreatePolicy={handleCreatePolicy}\n onEditPolicy={handleEditPolicy}\n onFinishSetup={handleFinishSetup}\n onDeletePolicy={handleDeletePolicy}\n deleteSuccessAlert={deleteSuccessAlert}\n onDismissDeleteAlert={() => {\n setDeleteSuccessAlert(null)\n }}\n isDeletingPolicyId={isDeletingPolicyId}\n isPending={isPending}\n />\n </BaseLayout>\n )\n}\n"],"names":["PolicyList","FallbackComponent","props","jsx","BaseBoundaries","Root","companyId","onEvent","useI18n","t","useTranslation","queryClient","useQueryClient","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","deleteSuccessAlert","setDeleteSuccessAlert","useState","isDeletingPolicyId","setIsDeletingPolicyId","policiesData","useTimeOffPoliciesGetAllSuspense","timeOffPolicies","policy","isListedTimeOffPolicyType","holidayQuery","useHolidayPayPoliciesGet","holidayPayPolicy","employeesData","useEmployeesListSuspense","totalActiveEmployees","deactivatePolicyMutation","useTimeOffPoliciesDeactivateMutation","deleteHolidayMutation","useHolidayPayPoliciesDeleteMutation","errorHandling","composeErrorHandler","isPending","getEnrolledDisplay","enrolledCount","policies","a","b","handleCreatePolicy","componentEvents","handleEditPolicy","handleFinishSetup","handleDeletePolicy","success","invalidateAllHolidayPayPoliciesGet","err","UnprocessableEntityError","e","SDKInternalError","messages","invalidateAllTimeOffPoliciesGetAll","BaseLayout","PolicyListPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"PolicyList.js","sources":["../../../../src/components/TimeOff/PolicyList/PolicyList.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useQueryClient } from '@tanstack/react-query'\nimport {\n useTimeOffPoliciesGetAllSuspense,\n invalidateAllTimeOffPoliciesGetAll,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesGetAll'\nimport { useTimeOffPoliciesDeactivateMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/timeOffPoliciesDeactivate'\nimport { useEmployeesListSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/employeesList'\nimport {\n useHolidayPayPoliciesGet,\n invalidateAllHolidayPayPoliciesGet,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesGet'\nimport { useHolidayPayPoliciesDeleteMutation } from '@gusto/embedded-api-v-2025-11-15/react-query/holidayPayPoliciesDelete'\nimport type { TimeOffPolicy } from '@gusto/embedded-api-v-2025-11-15/models/components/timeoffpolicy'\nimport { UnprocessableEntityError } from '@gusto/embedded-api-v-2025-11-15/models/errors/unprocessableentityerror'\nimport { PolicyListPresentation } from './PolicyListPresentation'\nimport type { PolicyListItem } from './PolicyListTypes'\nimport { isListedTimeOffPolicyType } from '@/components/TimeOff/TimeOffFlow/timeOffPolicyTypes'\nimport { BaseBoundaries, BaseLayout, type BaseComponentInterface } from '@/components/Base'\nimport { useBaseSubmit } from '@/components/Base/useBaseSubmit'\nimport { SDKInternalError } from '@/types/sdkError'\nimport { composeErrorHandler } from '@/partner-hook-utils/composeErrorHandler'\nimport { componentEvents } from '@/shared/constants'\nimport { useI18n } from '@/i18n'\n\n/**\n * Props for the {@link PolicyList} component.\n *\n * @public\n */\nexport interface PolicyListProps extends BaseComponentInterface<'Company.TimeOff.TimeOffPolicies'> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/**\n * Displays all active time off policies (sick, vacation, and holiday) for a company.\n *\n * Each row shows the policy name and the enrolled-employee count. Incomplete policies surface a\n * finish-setup action. Sick and vacation policies are deactivated via the time-off policies API;\n * the holiday pay policy (if one exists) is merged into the same list and is deleted via the\n * holiday pay policy API. Both flows go through a confirmation dialog and show a success alert.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `timeOff/createPolicy` | The user clicked the create-policy action. | — |\n * | `timeOff/viewPolicy` | The user opened an existing policy or clicked finish-setup on an incomplete one. | `{ policyId: string, policyType: string }` |\n * | `timeOff/deletePolicy/done` | A policy was successfully deleted. | `{ policyId: string }` |\n *\n * @param props - {@link PolicyListProps}\n * @returns The rendered policy list.\n * @public\n */\nexport function PolicyList({ FallbackComponent, ...props }: PolicyListProps) {\n return (\n <BaseBoundaries\n componentName=\"Company.TimeOff.TimeOffPolicies\"\n FallbackComponent={FallbackComponent}\n >\n <Root {...props} />\n </BaseBoundaries>\n )\n}\n\nfunction Root({ companyId, onEvent }: PolicyListProps) {\n useI18n('Company.TimeOff.TimeOffPolicies')\n const { t } = useTranslation('Company.TimeOff.TimeOffPolicies')\n const queryClient = useQueryClient()\n\n const {\n baseSubmitHandler,\n error: submitError,\n setError: setSubmitError,\n } = useBaseSubmit('Company.TimeOff.TimeOffPolicies')\n\n const [deleteSuccessAlert, setDeleteSuccessAlert] = useState<string | null>(null)\n const [isDeletingPolicyId, setIsDeletingPolicyId] = useState<string | null>(null)\n\n const { data: policiesData } = useTimeOffPoliciesGetAllSuspense({\n companyUuid: companyId,\n })\n const timeOffPolicies = (policiesData.timeOffPolicies ?? []).filter(\n policy => policy.isActive && isListedTimeOffPolicyType(policy.policyType),\n )\n\n // Holiday pay policy is auxiliary to the main time-off list; never crash the\n // boundary on its failure. composeErrorHandler below surfaces the error as\n // an inline alert via BaseLayout when it isn't an expected 204/404.\n const holidayQuery = useHolidayPayPoliciesGet(\n { companyUuid: companyId },\n {\n throwOnError: () => false,\n },\n )\n const holidayPayPolicy = holidayQuery.data?.holidayPayPolicy\n\n const { data: employeesData } = useEmployeesListSuspense({\n companyId,\n terminated: false,\n })\n const totalActiveEmployees = employeesData.showEmployees?.length ?? 0\n\n const deactivatePolicyMutation = useTimeOffPoliciesDeactivateMutation()\n const deleteHolidayMutation = useHolidayPayPoliciesDeleteMutation()\n\n const errorHandling = composeErrorHandler([holidayQuery], { submitError, setSubmitError })\n const isPending = deactivatePolicyMutation.isPending || deleteHolidayMutation.isPending\n\n const getEnrolledDisplay = (enrolledCount: number) => {\n if (enrolledCount > 0 && enrolledCount === totalActiveEmployees) {\n return t('allEmployeesLabel')\n } else if (enrolledCount > 0) {\n return t('employeeCount', { count: enrolledCount })\n }\n return t('enrolledDash')\n }\n\n const policies: PolicyListItem[] = timeOffPolicies\n .map((policy: TimeOffPolicy) => ({\n uuid: policy.uuid,\n name: policy.name,\n policyType: policy.policyType,\n isComplete: policy.complete ?? false,\n enrolledDisplay: getEnrolledDisplay(policy.employees.length),\n }))\n .sort((a, b) => a.name.localeCompare(b.name))\n\n if (holidayPayPolicy) {\n policies.push({\n uuid: holidayPayPolicy.companyUuid,\n name: t('holidayPayPolicy'),\n policyType: 'holiday',\n isComplete: true,\n enrolledDisplay: getEnrolledDisplay(holidayPayPolicy.employees.length),\n isHoliday: true,\n })\n }\n\n const handleCreatePolicy = () => {\n onEvent(componentEvents.TIME_OFF_CREATE_POLICY)\n }\n\n const handleEditPolicy = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleFinishSetup = (policy: PolicyListItem) => {\n onEvent(componentEvents.TIME_OFF_VIEW_POLICY, {\n policyId: policy.uuid,\n policyType: policy.policyType,\n })\n }\n\n const handleDeletePolicy = async (policy: PolicyListItem): Promise<boolean> => {\n let success = false\n setIsDeletingPolicyId(policy.uuid)\n await baseSubmitHandler({}, async () => {\n if (policy.isHoliday) {\n await deleteHolidayMutation.mutateAsync({\n request: { companyUuid: companyId },\n })\n await invalidateAllHolidayPayPoliciesGet(queryClient)\n setDeleteSuccessAlert(t('flash.holidayDeleted'))\n } else {\n try {\n await deactivatePolicyMutation.mutateAsync({\n request: { timeOffPolicyUuid: policy.uuid },\n })\n } catch (err) {\n if (err instanceof UnprocessableEntityError) {\n const hasPendingRequests = err.errors.some(\n e =>\n e.message?.toLowerCase().includes('pending') ||\n e.message?.toLowerCase().includes('approved'),\n )\n if (hasPendingRequests) {\n throw new SDKInternalError(\n t('errors.pendingRequestsBlockDeletion', { name: policy.name }),\n 'api_error',\n )\n }\n const messages = err.errors.map(e => e.message).filter(Boolean)\n throw new SDKInternalError(messages.join('. ') || t('errors.deleteFailed'), 'api_error')\n }\n throw err\n }\n await invalidateAllTimeOffPoliciesGetAll(queryClient)\n setDeleteSuccessAlert(t('flash.policyDeleted', { name: policy.name }))\n }\n onEvent(componentEvents.TIME_OFF_DELETE_POLICY_DONE, { policyId: policy.uuid })\n success = true\n })\n setIsDeletingPolicyId(null)\n return success\n }\n\n return (\n <BaseLayout error={errorHandling.errors}>\n <PolicyListPresentation\n policies={policies}\n onCreatePolicy={handleCreatePolicy}\n onEditPolicy={handleEditPolicy}\n onFinishSetup={handleFinishSetup}\n onDeletePolicy={handleDeletePolicy}\n deleteSuccessAlert={deleteSuccessAlert}\n onDismissDeleteAlert={() => {\n setDeleteSuccessAlert(null)\n }}\n isDeletingPolicyId={isDeletingPolicyId}\n isPending={isPending}\n />\n </BaseLayout>\n )\n}\n"],"names":["PolicyList","FallbackComponent","props","jsx","BaseBoundaries","Root","companyId","onEvent","useI18n","t","useTranslation","queryClient","useQueryClient","baseSubmitHandler","submitError","setSubmitError","useBaseSubmit","deleteSuccessAlert","setDeleteSuccessAlert","useState","isDeletingPolicyId","setIsDeletingPolicyId","policiesData","useTimeOffPoliciesGetAllSuspense","timeOffPolicies","policy","isListedTimeOffPolicyType","holidayQuery","useHolidayPayPoliciesGet","holidayPayPolicy","employeesData","useEmployeesListSuspense","totalActiveEmployees","deactivatePolicyMutation","useTimeOffPoliciesDeactivateMutation","deleteHolidayMutation","useHolidayPayPoliciesDeleteMutation","errorHandling","composeErrorHandler","isPending","getEnrolledDisplay","enrolledCount","policies","a","b","handleCreatePolicy","componentEvents","handleEditPolicy","handleFinishSetup","handleDeletePolicy","success","invalidateAllHolidayPayPoliciesGet","err","UnprocessableEntityError","e","SDKInternalError","messages","invalidateAllTimeOffPoliciesGetAll","BaseLayout","PolicyListPresentation"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { BaseComponentInterface } from '../../Base';
4
4
  *
5
5
  * @public
6
6
  */
7
- export interface PolicySettingsProps extends BaseComponentInterface {
7
+ export interface PolicySettingsProps extends BaseComponentInterface<'Company.TimeOff.CreateTimeOffPolicy'> {
8
8
  /** UUID of the time off policy being configured. */
9
9
  policyId: string;
10
10
  /** Whether the form is being used to create a new policy or edit an existing one. Defaults to create. */
@@ -16,6 +16,7 @@ export interface PolicySettingsProps extends BaseComponentInterface {
16
16
  * @remarks
17
17
  * Fetches the time off policy, derives the accrual method category, and submits updates to the time off policies endpoint. Emits the following events:
18
18
  *
19
+ * @events
19
20
  * | Event | Description | Data |
20
21
  * | ----- | ----------- | ---- |
21
22
  * | `timeOff/policySettings/done` | Fired when policy settings are saved | The updated `TimeOffPolicy` |