@gusto/embedded-react-sdk 0.48.3 → 0.50.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 (711) hide show
  1. package/CHANGELOG.md +71 -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/createCompoundContext.d.ts +1 -1
  6. package/dist/components/Base/createCompoundContext.js.map +1 -1
  7. package/dist/components/Base/index.d.ts +1 -1
  8. package/dist/components/Common/DataView/DataTable/DataTable.js +21 -21
  9. package/dist/components/Common/DataView/DataTable/DataTable.js.map +1 -1
  10. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js +16 -15
  11. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  12. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.d.ts +1 -0
  13. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbs.js.map +1 -1
  14. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -1
  15. package/dist/components/Common/PaginationControl/PaginationControl.js +9 -8
  16. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  17. package/dist/components/Common/TaxInputs/TaxInputs.js +104 -102
  18. package/dist/components/Common/TaxInputs/TaxInputs.js.map +1 -1
  19. package/dist/components/Common/UI/CalendarPreview/CalendarLegend.d.ts +1 -1
  20. package/dist/components/Common/UI/CalendarPreview/CalendarLegend.js.map +1 -1
  21. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  22. package/dist/components/Common/UI/Modal/Modal.module.scss.js +12 -12
  23. package/dist/components/Common/UI/NumberInput/NumberInput.d.ts +1 -1
  24. package/dist/components/Common/UI/NumberInput/NumberInput.js +87 -80
  25. package/dist/components/Common/UI/NumberInput/NumberInput.js.map +1 -1
  26. package/dist/components/Common/UI/NumberInput/NumberInputTypes.d.ts +4 -0
  27. package/dist/components/Common/UI/Select/Select.js +28 -28
  28. package/dist/components/Common/UI/Select/Select.js.map +1 -1
  29. package/dist/components/Common/UI/Select/SelectTypes.d.ts +3 -2
  30. package/dist/components/Common/UI/Tabs/Tabs.js +9 -8
  31. package/dist/components/Common/UI/Tabs/Tabs.js.map +1 -1
  32. package/dist/components/Company/AssignSignatory/AssignSignatory.d.ts +1 -0
  33. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  34. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.d.ts +4 -4
  35. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  36. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -4
  37. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  38. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.d.ts +4 -3
  39. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  40. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -4
  41. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  42. package/dist/components/Company/AssignSignatory/TitleSelect.js +9 -8
  43. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  44. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -6
  45. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  46. package/dist/components/Company/BankAccount/BankAccount.d.ts +3 -2
  47. package/dist/components/Company/BankAccount/BankAccount.js.map +1 -1
  48. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.d.ts +3 -3
  49. package/dist/components/Company/BankAccount/BankAccountForm/BankAccountForm.js.map +1 -1
  50. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -4
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  52. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.d.ts +3 -3
  53. package/dist/components/Company/BankAccount/BankAccountList/BankAccountList.js.map +1 -1
  54. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.d.ts +3 -3
  55. package/dist/components/Company/BankAccount/BankAccountVerify/BankAccountVerify.js.map +1 -1
  56. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.d.ts +13 -2
  57. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  58. package/dist/components/Company/DocumentSigner/DocumentList/index.d.ts +1 -1
  59. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  60. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  61. package/dist/components/Company/DocumentSigner/DocumentSigner.d.ts +6 -5
  62. package/dist/components/Company/DocumentSigner/DocumentSigner.js.map +1 -1
  63. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.d.ts +1 -0
  64. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  65. package/dist/components/Company/DocumentSigner/assignSignatoryState.js +4 -6
  66. package/dist/components/Company/DocumentSigner/assignSignatoryState.js.map +1 -1
  67. package/dist/components/Company/DocumentSigner/index.d.ts +1 -1
  68. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -0
  69. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.js.map +1 -1
  70. package/dist/components/Company/DocumentSigner/stateMachine.js +12 -18
  71. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  72. package/dist/components/Company/FederalTaxes/FederalTaxes.d.ts +15 -6
  73. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  74. package/dist/components/Company/FederalTaxes/Form.js +23 -21
  75. package/dist/components/Company/FederalTaxes/Form.js.map +1 -1
  76. package/dist/components/Company/FederalTaxes/index.d.ts +2 -0
  77. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +10 -6
  78. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -9
  79. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  80. package/dist/components/Company/Industry/Context.js +8 -7
  81. package/dist/components/Company/Industry/Context.js.map +1 -1
  82. package/dist/components/Company/Industry/Industry.d.ts +5 -7
  83. package/dist/components/Company/Industry/Industry.js.map +1 -1
  84. package/dist/components/Company/Locations/LocationForm/LocationForm.d.ts +11 -4
  85. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  86. package/dist/components/Company/Locations/LocationForm/index.d.ts +1 -0
  87. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -4
  88. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  89. package/dist/components/Company/Locations/Locations.d.ts +1 -0
  90. package/dist/components/Company/Locations/Locations.js.map +1 -1
  91. package/dist/components/Company/Locations/LocationsList/List.js +20 -20
  92. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  93. package/dist/components/Company/Locations/LocationsList/List.module.scss.js +1 -1
  94. package/dist/components/Company/Locations/LocationsList/LocationsList.d.ts +2 -1
  95. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  96. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -4
  97. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  98. package/dist/components/Company/Locations/stateMachine.js +4 -6
  99. package/dist/components/Company/Locations/stateMachine.js.map +1 -1
  100. package/dist/components/Company/OnboardingFlow/OnboardingFlow.d.ts +38 -1
  101. package/dist/components/Company/OnboardingFlow/OnboardingFlow.js.map +1 -1
  102. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.d.ts +14 -3
  103. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js +30 -23
  104. package/dist/components/Company/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  105. package/dist/components/Company/OnboardingOverview/OnboardingOverview.d.ts +10 -4
  106. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  107. package/dist/components/Company/OnboardingOverview/context.js +5 -4
  108. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  109. package/dist/components/Company/PaySchedule/PaySchedule.d.ts +4 -3
  110. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  111. package/dist/components/Company/PaySchedule/PayScheduleForm.js +6 -4
  112. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  113. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +10 -14
  114. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  115. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +1 -0
  116. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.js.map +1 -1
  117. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +1 -0
  118. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  119. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +29 -25
  120. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  121. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.d.ts +11 -4
  122. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +55 -54
  123. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  124. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.d.ts +10 -0
  125. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js +11 -0
  126. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +1 -0
  127. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.test.d.ts +1 -0
  128. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -4
  129. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  130. package/dist/components/Company/StateTaxes/StateTaxesForm/index.d.ts +1 -1
  131. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +2 -3
  132. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +1 -1
  133. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +7 -2
  134. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  135. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -4
  136. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  137. package/dist/components/Company/StateTaxes/StateTaxesList/index.d.ts +1 -1
  138. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +5 -7
  139. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  140. package/dist/components/Company/exports/companyOnboarding.d.ts +11 -11
  141. package/dist/components/Contractor/Address/Address.d.ts +14 -8
  142. package/dist/components/Contractor/Address/Address.js +83 -64
  143. package/dist/components/Contractor/Address/Address.js.map +1 -1
  144. package/dist/components/Contractor/Address/Address.module.scss.js +8 -0
  145. package/dist/components/Contractor/Address/Address.module.scss.js.map +1 -0
  146. package/dist/components/Contractor/Address/index.d.ts +1 -0
  147. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +60 -0
  148. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js +32 -0
  149. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.js.map +1 -0
  150. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.d.ts +111 -0
  151. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js +26 -0
  152. package/dist/components/Contractor/Address/shared/useContractorAddressForm/fields.js.map +1 -0
  153. package/dist/components/Contractor/Address/shared/useContractorAddressForm/index.d.ts +6 -0
  154. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +150 -0
  155. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js +133 -0
  156. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.js.map +1 -0
  157. package/dist/components/Contractor/Address/types.d.ts +8 -0
  158. package/dist/components/Contractor/ContractorList/index.d.ts +4 -4
  159. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  160. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.d.ts +29 -0
  161. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +71 -0
  162. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +1 -0
  163. package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +3 -0
  164. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/index.d.ts +2 -0
  165. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.d.ts +60 -0
  166. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js +20 -0
  167. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
  168. package/dist/components/Contractor/Landing/Landing.d.ts +19 -0
  169. package/dist/components/Contractor/Landing/Landing.js +73 -0
  170. package/dist/components/Contractor/Landing/Landing.js.map +1 -0
  171. package/dist/components/Contractor/Landing/index.d.ts +2 -0
  172. package/dist/components/Contractor/NewHireReport/NewHireReport.d.ts +1 -0
  173. package/dist/components/Contractor/NewHireReport/NewHireReport.js +7 -7
  174. package/dist/components/Contractor/NewHireReport/NewHireReport.js.map +1 -1
  175. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +22 -10
  176. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  177. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +4 -4
  178. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  179. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.d.ts +23 -0
  180. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +36 -0
  181. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -0
  182. package/dist/components/Contractor/OnboardingSummary/index.d.ts +2 -0
  183. package/dist/components/Contractor/PaymentMethod/PaymentMethod.d.ts +6 -6
  184. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +105 -108
  185. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +1 -1
  186. package/dist/components/Contractor/PaymentMethod/PaymentMethod.module.scss.js +8 -0
  187. package/dist/components/Contractor/PaymentMethod/PaymentMethod.module.scss.js.map +1 -0
  188. package/dist/components/Contractor/PaymentMethod/shared/index.d.ts +2 -0
  189. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.d.ts +93 -0
  190. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js +22 -0
  191. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/fields.js.map +1 -0
  192. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/index.d.ts +5 -0
  193. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +127 -0
  194. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +109 -0
  195. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -0
  196. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +83 -0
  197. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.js +42 -0
  198. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.js.map +1 -0
  199. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +58 -0
  200. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js +21 -0
  201. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -0
  202. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.d.ts +20 -0
  203. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.js +9 -0
  204. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/fields.js.map +1 -0
  205. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/index.d.ts +5 -0
  206. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +117 -0
  207. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js +91 -0
  208. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.js.map +1 -0
  209. package/dist/components/Contractor/PaymentMethod/types.d.ts +0 -5
  210. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +11 -1
  211. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  212. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +59 -53
  213. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  214. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +70 -91
  215. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  216. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +62 -56
  217. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  218. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +13 -4
  219. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -1
  220. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +1 -1
  221. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  222. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +7 -0
  223. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  224. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +54 -51
  225. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  226. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +20 -22
  227. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  228. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +8 -0
  229. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  230. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +109 -102
  231. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  232. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +1 -1
  233. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  234. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +86 -65
  235. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  236. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.d.ts +8 -0
  237. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +79 -0
  238. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -0
  239. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +52 -10
  240. package/dist/components/Contractor/Profile/ContractorProfile.js +205 -31
  241. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  242. package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js +8 -0
  243. package/dist/components/Contractor/Profile/ContractorProfile.module.scss.js.map +1 -0
  244. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.d.ts +8 -0
  245. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +96 -0
  246. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -0
  247. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.d.ts +22 -0
  248. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +40 -0
  249. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +1 -0
  250. package/dist/components/Contractor/Profile/index.d.ts +1 -1
  251. package/dist/components/Contractor/Profile/shared/index.d.ts +2 -0
  252. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +126 -0
  253. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +73 -0
  254. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -0
  255. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.test.d.ts +1 -0
  256. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.d.ts +312 -0
  257. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js +87 -0
  258. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/fields.js.map +1 -0
  259. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/index.d.ts +6 -0
  260. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +196 -0
  261. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +188 -0
  262. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -0
  263. package/dist/components/Contractor/Submit/Submit.d.ts +4 -4
  264. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  265. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +6 -3
  266. package/dist/components/Contractor/exports/contractorOnboarding.js +14 -8
  267. package/dist/components/Contractor/exports/contractorOnboarding.js.map +1 -1
  268. package/dist/components/Employee/Compensation/management/Compensation.d.ts +4 -7
  269. package/dist/components/Employee/Compensation/management/Compensation.js +1 -5
  270. package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
  271. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +1 -0
  272. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
  273. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +1 -0
  274. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  275. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +1 -0
  276. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  277. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +1 -0
  278. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  279. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +13 -10
  280. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  281. package/dist/components/Employee/Compensation/management/compensationStateMachine.js +23 -31
  282. package/dist/components/Employee/Compensation/management/compensationStateMachine.js.map +1 -1
  283. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +1 -0
  284. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  285. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +1 -0
  286. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  287. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.d.ts +3 -3
  288. package/dist/components/Employee/Compensation/onboarding/JobsList/JobsList.js.map +1 -1
  289. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +20 -28
  290. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
  291. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +13 -10
  292. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  293. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +1 -0
  294. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.js.map +1 -1
  295. package/dist/components/Employee/Compensation/shared/useCompensationForm/fields.js.map +1 -1
  296. package/dist/components/Employee/Dashboard/Dashboard.d.ts +29 -4
  297. package/dist/components/Employee/Dashboard/Dashboard.js +1 -4
  298. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  299. package/dist/components/Employee/Dashboard/DashboardFlow.d.ts +20 -14
  300. package/dist/components/Employee/Dashboard/DashboardFlow.js.map +1 -1
  301. package/dist/components/Employee/Dashboard/dashboardStateMachine.js +78 -108
  302. package/dist/components/Employee/Dashboard/dashboardStateMachine.js.map +1 -1
  303. package/dist/components/Employee/Deductions/management/Deductions.d.ts +4 -7
  304. package/dist/components/Employee/Deductions/management/Deductions.js +1 -5
  305. package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
  306. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +1 -0
  307. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  308. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +4 -3
  309. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +1 -4
  310. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  311. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js +17 -23
  312. package/dist/components/Employee/Deductions/management/deductionsStateMachine.js.map +1 -1
  313. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -0
  314. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  315. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +25 -35
  316. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  317. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +40 -37
  318. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  319. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +1 -0
  320. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  321. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -0
  322. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.js.map +1 -1
  323. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.js.map +1 -1
  324. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +1 -0
  325. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.js.map +1 -1
  326. package/dist/components/Employee/Deductions/shared/useDeductionForm/useDeductionForm.js.map +1 -1
  327. package/dist/components/Employee/Documents/management/DocumentManager.d.ts +19 -4
  328. package/dist/components/Employee/Documents/management/DocumentManager.js +4 -1
  329. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  330. package/dist/components/Employee/Documents/management/Documents.d.ts +4 -7
  331. package/dist/components/Employee/Documents/management/Documents.js +1 -5
  332. package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
  333. package/dist/components/Employee/Documents/management/documentsStateMachine.js +5 -7
  334. package/dist/components/Employee/Documents/management/documentsStateMachine.js.map +1 -1
  335. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.d.ts +2 -1
  336. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  337. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -4
  338. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  339. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.d.ts +8 -1
  340. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -1
  341. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.d.ts +1 -0
  342. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  343. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.d.ts +3 -2
  344. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  345. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.d.ts +1 -4
  346. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  347. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.d.ts +3 -2
  348. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  349. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +1 -0
  350. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  351. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +5 -8
  352. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  353. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +18 -3
  354. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +21 -18
  355. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  356. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.d.ts +2 -1
  357. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js +47 -46
  358. package/dist/components/Employee/EmployeeList/onboarding/EmployeeListView.js.map +1 -1
  359. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  360. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.d.ts +10 -4
  361. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlow.js.map +1 -1
  362. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.d.ts +1 -1
  363. package/dist/components/Employee/EmployeeListFlow/EmployeeListFlowComponents.js.map +1 -1
  364. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js +5 -7
  365. package/dist/components/Employee/EmployeeListFlow/employeeListStateMachine.js.map +1 -1
  366. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +4 -7
  367. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +1 -5
  368. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
  369. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +4 -5
  370. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +1 -4
  371. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  372. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js +14 -20
  373. package/dist/components/Employee/FederalTaxes/management/federalTaxesStateMachine.js.map +1 -1
  374. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +4 -3
  375. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +1 -4
  376. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  377. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +1 -0
  378. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.js.map +1 -1
  379. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +7 -11
  380. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +1 -5
  381. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  382. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +1 -0
  383. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
  384. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +7 -9
  385. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +1 -4
  386. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  387. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js +2 -0
  388. package/dist/components/Employee/HomeAddress/management/HomeAddressView.js.map +1 -1
  389. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js +8 -12
  390. package/dist/components/Employee/HomeAddress/management/homeAddressStateMachine.js.map +1 -1
  391. package/dist/components/Employee/HomeAddress/management/useHomeAddressManagement.js.map +1 -1
  392. package/dist/components/Employee/Landing/Landing.d.ts +10 -4
  393. package/dist/components/Employee/Landing/Landing.js.map +1 -1
  394. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.d.ts +20 -6
  395. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlow.js.map +1 -1
  396. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.d.ts +1 -0
  397. package/dist/components/Employee/OnboardingExecutionFlow/OnboardingExecutionFlowComponents.js.map +1 -1
  398. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  399. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.d.ts +34 -14
  400. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js +19 -17
  401. package/dist/components/Employee/OnboardingFlow/OnboardingFlow.js.map +1 -1
  402. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js +23 -16
  403. package/dist/components/Employee/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  404. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js +11 -15
  405. package/dist/components/Employee/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  406. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.d.ts +10 -4
  407. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  408. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +3 -7
  409. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +1 -5
  410. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
  411. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.d.ts +1 -0
  412. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
  413. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +1 -0
  414. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
  415. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
  416. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.d.ts +1 -0
  417. package/dist/components/Employee/PaymentMethod/management/PaymentMethodSplitForm.js.map +1 -1
  418. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js +15 -21
  419. package/dist/components/Employee/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -1
  420. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +4 -7
  421. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +1 -5
  422. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  423. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js +24 -36
  424. package/dist/components/Employee/PaymentMethod/onboarding/paymentMethodStateMachine.js.map +1 -1
  425. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.d.ts +4 -4
  426. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankForm.js.map +1 -1
  427. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -0
  428. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js +7 -6
  429. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.js.map +1 -1
  430. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.d.ts +1 -1
  431. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodForm.js.map +1 -1
  432. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.d.ts +1 -0
  433. package/dist/components/Employee/PaymentMethod/shared/usePaymentMethodForm/usePaymentMethodFormSchema.js.map +1 -1
  434. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/splitFieldFactory.js.map +1 -1
  435. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.d.ts +2 -2
  436. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsForm.js.map +1 -1
  437. package/dist/components/Employee/Profile/management/Profile.d.ts +5 -8
  438. package/dist/components/Employee/Profile/management/Profile.js +1 -5
  439. package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
  440. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +1 -0
  441. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  442. package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +5 -6
  443. package/dist/components/Employee/Profile/management/ProfileEditForm.js +1 -4
  444. package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
  445. package/dist/components/Employee/Profile/management/profileStateMachine.js +14 -20
  446. package/dist/components/Employee/Profile/management/profileStateMachine.js.map +1 -1
  447. package/dist/components/Employee/Profile/onboarding/AdminProfile.js +55 -54
  448. package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
  449. package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js +3 -5
  450. package/dist/components/Employee/Profile/onboarding/AdminProfile.module.scss.js.map +1 -1
  451. package/dist/components/Employee/Profile/onboarding/Profile.d.ts +11 -12
  452. package/dist/components/Employee/Profile/onboarding/Profile.js +1 -5
  453. package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
  454. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +3 -2
  455. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.js.map +1 -1
  456. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/fields.js.map +1 -1
  457. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.d.ts +11 -12
  458. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/useEmployeeDetailsForm.js.map +1 -1
  459. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +2 -1
  460. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.js.map +1 -1
  461. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +36 -0
  462. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.js.map +1 -1
  463. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.d.ts +31 -0
  464. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  465. package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.d.ts +1 -0
  466. package/dist/components/Employee/Profile/shared/useWorkAddressForm/workAddressSchema.js.map +1 -1
  467. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.d.ts +1 -1
  468. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  469. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.d.ts +20 -6
  470. package/dist/components/Employee/SelfOnboardingFlow/SelfOnboardingFlow.js.map +1 -1
  471. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js +12 -18
  472. package/dist/components/Employee/SelfOnboardingFlow/selfOnboardingMachine.js.map +1 -1
  473. package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +4 -9
  474. package/dist/components/Employee/StateTaxes/management/StateTaxes.js +1 -5
  475. package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
  476. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +1 -0
  477. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  478. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +5 -8
  479. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +1 -4
  480. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  481. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js +14 -20
  482. package/dist/components/Employee/StateTaxes/management/stateTaxesStateMachine.js.map +1 -1
  483. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +5 -8
  484. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +1 -4
  485. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  486. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js +29 -29
  487. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldComponents.js.map +1 -1
  488. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fieldProps.d.ts +37 -19
  489. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +113 -13
  490. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
  491. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/index.d.ts +1 -1
  492. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.d.ts +2 -7
  493. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  494. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.d.ts +1 -0
  495. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  496. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.d.ts +16 -5
  497. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlow.js.map +1 -1
  498. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.d.ts +1 -1
  499. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  500. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js +5 -7
  501. package/dist/components/Employee/Terminations/TerminationFlow/terminationStateMachine.js.map +1 -1
  502. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.d.ts +1 -0
  503. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummary.js.map +1 -1
  504. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +7 -11
  505. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +1 -5
  506. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  507. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +1 -0
  508. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
  509. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +7 -9
  510. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +1 -4
  511. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  512. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js +97 -95
  513. package/dist/components/Employee/WorkAddress/management/WorkAddressView.js.map +1 -1
  514. package/dist/components/Employee/WorkAddress/management/useWorkAddressManagement.js.map +1 -1
  515. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js +8 -12
  516. package/dist/components/Employee/WorkAddress/management/workAddressStateMachine.js.map +1 -1
  517. package/dist/components/Employee/WorkAddress/shared/useEmployeeWorkAddressSummary/useEmployeeWorkAddressSummary.js.map +1 -1
  518. package/dist/components/Employee/exports/employeeOnboarding.d.ts +3 -3
  519. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +1 -0
  520. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  521. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.d.ts +1 -0
  522. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  523. package/dist/components/InformationRequests/InformationRequests.d.ts +27 -2
  524. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  525. package/dist/components/InformationRequests/informationRequestsStateMachine.js +10 -14
  526. package/dist/components/InformationRequests/informationRequestsStateMachine.js.map +1 -1
  527. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.d.ts +3 -4
  528. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +2 -11
  529. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  530. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.d.ts +0 -1
  531. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +1 -0
  532. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  533. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +11 -17
  534. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  535. package/dist/components/Payroll/ConfirmWireDetails/types.d.ts +1 -3
  536. package/dist/components/Payroll/Dismissal/DismissalFlow.d.ts +25 -1
  537. package/dist/components/Payroll/Dismissal/DismissalFlow.js.map +1 -1
  538. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.d.ts +1 -0
  539. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelection.js.map +1 -1
  540. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +2 -3
  541. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js.map +1 -1
  542. package/dist/components/Payroll/OffCycle/OffCycleFlow.d.ts +18 -4
  543. package/dist/components/Payroll/OffCycle/OffCycleFlow.js.map +1 -1
  544. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.d.ts +1 -1
  545. package/dist/components/Payroll/OffCycleCreation/OffCycleCreation.js.map +1 -1
  546. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.d.ts +1 -0
  547. package/dist/components/Payroll/OffCycleDeductionsSetting/OffCycleDeductionsSetting.js.map +1 -1
  548. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.d.ts +1 -0
  549. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelection.js.map +1 -1
  550. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js +21 -20
  551. package/dist/components/Payroll/OffCycleTaxWithholdingModal/OffCycleTaxWithholdingModal.js.map +1 -1
  552. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.d.ts +2 -1
  553. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  554. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.d.ts +2 -2
  555. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  556. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +28 -3
  557. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  558. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +38 -46
  559. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js.map +1 -1
  560. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +25 -24
  561. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  562. package/dist/components/Payroll/PayrollFlow/PayrollFlow.d.ts +13 -3
  563. package/dist/components/Payroll/PayrollFlow/PayrollFlow.js.map +1 -1
  564. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +2 -2
  565. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  566. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +34 -44
  567. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  568. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +1 -0
  569. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  570. package/dist/components/Payroll/PayrollLanding/PayrollLanding.d.ts +12 -2
  571. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  572. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +8 -10
  573. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  574. package/dist/components/Payroll/PayrollList/PayrollList.d.ts +2 -1
  575. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  576. package/dist/components/Payroll/PayrollOverview/PayrollOverview.d.ts +1 -0
  577. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +112 -112
  578. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  579. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  580. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js +4 -6
  581. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.js.map +1 -1
  582. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +2 -1
  583. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +5 -9
  584. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  585. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +0 -1
  586. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  587. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +0 -1
  588. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  589. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +10 -14
  590. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -1
  591. package/dist/components/Payroll/Transition/TransitionFlow.d.ts +27 -1
  592. package/dist/components/Payroll/Transition/TransitionFlow.js.map +1 -1
  593. package/dist/components/Payroll/TransitionCreation/TransitionCreation.d.ts +1 -1
  594. package/dist/components/Payroll/TransitionCreation/TransitionCreation.js.map +1 -1
  595. package/dist/components/Payroll/usePreparedPayrollData.js +4 -3
  596. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  597. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.d.ts +2 -2
  598. package/dist/components/TimeOff/AddEmployeesHoliday/AddEmployeesHoliday.js.map +1 -1
  599. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.d.ts +2 -1
  600. package/dist/components/TimeOff/AddEmployeesToPolicy/AddEmployeesToPolicy.js.map +1 -1
  601. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.d.ts +1 -1
  602. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetail.js.map +1 -1
  603. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.d.ts +2 -2
  604. package/dist/components/TimeOff/HolidaySelectionForm/HolidaySelectionForm.js.map +1 -1
  605. package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
  606. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  607. package/dist/components/TimeOff/PolicySettings/PolicySettings.d.ts +2 -1
  608. package/dist/components/TimeOff/PolicySettings/PolicySettings.js.map +1 -1
  609. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.d.ts +1 -0
  610. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelector.js.map +1 -1
  611. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.d.ts +28 -1
  612. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlow.js.map +1 -1
  613. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.d.ts +1 -1
  614. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  615. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js +128 -174
  616. package/dist/components/TimeOff/TimeOffFlow/timeOffStateMachine.js.map +1 -1
  617. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.d.ts +1 -0
  618. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationForm.js.map +1 -1
  619. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +9 -7
  620. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js.map +1 -1
  621. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.d.ts +2 -1
  622. package/dist/components/TimeOff/TimeOffPolicyDetail/TimeOffPolicyDetail.js.map +1 -1
  623. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.d.ts +2 -1
  624. package/dist/components/TimeOff/ViewHolidayEmployees/ViewHolidayEmployees.js.map +1 -1
  625. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.d.ts +2 -2
  626. package/dist/components/TimeOff/ViewHolidayPolicyDetails/ViewHolidayPolicyDetails.js.map +1 -1
  627. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.d.ts +2 -2
  628. package/dist/components/TimeOff/ViewHolidaySchedule/ViewHolidaySchedule.js.map +1 -1
  629. package/dist/components/index.d.ts +9 -0
  630. package/dist/contexts/ThemeProvider/types.d.ts +19 -0
  631. package/dist/helpers/validations.d.ts +12 -0
  632. package/dist/helpers/validations.js +6 -4
  633. package/dist/helpers/validations.js.map +1 -1
  634. package/dist/i18n/I18n.js +5 -2
  635. package/dist/i18n/I18n.js.map +1 -1
  636. package/dist/i18n/en/Company.AssignSignatory.json.js +1 -1
  637. package/dist/i18n/en/Company.FederalTaxes.json.js +27 -23
  638. package/dist/i18n/en/Company.FederalTaxes.json.js.map +1 -1
  639. package/dist/i18n/en/Company.PaySchedule.json.js +1 -1
  640. package/dist/i18n/en/Contractor.Address.json.js +13 -13
  641. package/dist/i18n/en/Contractor.DocumentsList.json.js +28 -0
  642. package/dist/i18n/en/Contractor.DocumentsList.json.js.map +1 -0
  643. package/dist/i18n/en/Contractor.Landing.json.js +18 -0
  644. package/dist/i18n/en/Contractor.Landing.json.js.map +1 -0
  645. package/dist/i18n/en/Contractor.NewHireReport.json.js +12 -10
  646. package/dist/i18n/en/Contractor.NewHireReport.json.js.map +1 -1
  647. package/dist/i18n/en/Contractor.OnboardingSummary.json.js +12 -0
  648. package/dist/i18n/en/Contractor.OnboardingSummary.json.js.map +1 -0
  649. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +13 -13
  650. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +10 -6
  651. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -1
  652. package/dist/i18n/en/Contractor.Profile.json.js +8 -6
  653. package/dist/i18n/en/Contractor.Profile.json.js.map +1 -1
  654. package/dist/i18n/en/Employee.Compensation.json.js +56 -50
  655. package/dist/i18n/en/Employee.Compensation.json.js.map +1 -1
  656. package/dist/i18n/en/Employee.DeductionsForm.json.js +8 -8
  657. package/dist/i18n/en/Employee.EmploymentEligibility.json.js +1 -1
  658. package/dist/i18n/en/Employee.Management.Compensation.json.js +48 -42
  659. package/dist/i18n/en/Employee.Management.Compensation.json.js.map +1 -1
  660. package/dist/i18n/en/Employee.Management.HomeAddress.json.js +1 -1
  661. package/dist/i18n/en/Payroll.OffCycleTaxWithholding.json.js +1 -1
  662. package/dist/i18n/en/Payroll.PayrollOverview.json.js +40 -38
  663. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  664. package/dist/i18n/en/common.json.d.ts +1 -0
  665. package/dist/i18n/en/common.json.js +34 -32
  666. package/dist/i18n/en/common.json.js.map +1 -1
  667. package/dist/index.d.ts +23 -3
  668. package/dist/index.js +250 -206
  669. package/dist/index.js.map +1 -1
  670. package/dist/models/external.d.ts +299 -0
  671. package/dist/partner-hook-utils/form/FormFieldsMetadataContext.js +3 -3
  672. package/dist/partner-hook-utils/form/buildFormSchema.d.ts +14 -1
  673. package/dist/partner-hook-utils/form/buildFormSchema.js +41 -40
  674. package/dist/partner-hook-utils/form/buildFormSchema.js.map +1 -1
  675. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  676. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +5 -2
  677. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  678. package/dist/shared/constants.d.ts +10 -1
  679. package/dist/shared/constants.js +9 -5
  680. package/dist/shared/constants.js.map +1 -1
  681. package/dist/style.css +1 -1
  682. package/dist/types/Helpers.d.ts +19 -2
  683. package/dist/types/i18next.d.ts +66 -5
  684. package/dist/types/sdkError.js +13 -6
  685. package/dist/types/sdkError.js.map +1 -1
  686. package/docs/{reference → guides}/endpoint-inventory.json +27 -0
  687. package/package.json +21 -22
  688. package/dist/components/Contractor/Address/Actions.d.ts +0 -2
  689. package/dist/components/Contractor/Address/Actions.js +0 -13
  690. package/dist/components/Contractor/Address/Actions.js.map +0 -1
  691. package/dist/components/Contractor/Address/Form.d.ts +0 -2
  692. package/dist/components/Contractor/Address/Form.js +0 -51
  693. package/dist/components/Contractor/Address/Form.js.map +0 -1
  694. package/dist/components/Contractor/Address/Head.d.ts +0 -2
  695. package/dist/components/Contractor/Address/Head.js +0 -17
  696. package/dist/components/Contractor/Address/Head.js.map +0 -1
  697. package/dist/components/Contractor/Address/useAddress.d.ts +0 -28
  698. package/dist/components/Contractor/Address/useAddress.js +0 -31
  699. package/dist/components/Contractor/Address/useAddress.js.map +0 -1
  700. package/dist/components/Contractor/PaymentMethod/BankAccountForm.d.ts +0 -3
  701. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +0 -56
  702. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js.map +0 -1
  703. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.d.ts +0 -2
  704. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +0 -33
  705. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js.map +0 -1
  706. package/dist/components/Contractor/Profile/ContractorProfileForm.d.ts +0 -9
  707. package/dist/components/Contractor/Profile/ContractorProfileForm.js +0 -143
  708. package/dist/components/Contractor/Profile/ContractorProfileForm.js.map +0 -1
  709. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +0 -205
  710. package/dist/components/Contractor/Profile/useContractorProfile.js +0 -237
  711. package/dist/components/Contractor/Profile/useContractorProfile.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryCasesList.js","sources":["../../../../../src/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type {\n RecoveryCase,\n RecoveryCaseStatus,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/recoverycase'\nimport { useRecoveryCasesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/recoveryCasesGet'\nimport { useRecoveryCaseErrorCode } from '../useRecoveryCaseErrorCode'\nimport styles from './RecoveryCasesList.module.scss'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { DataView } from '@/components/Common/DataView/DataView'\nimport { useDataView } from '@/components/Common/DataView/useDataView'\nimport { EmptyData, Flex, FlexItem } from '@/components/Common'\nimport { recoveryCasesEvents } from '@/shared/constants'\nimport type { BadgeProps } from '@/components/Common/UI/Badge/BadgeTypes'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\ninterface RecoveryCasesListProps extends BaseComponentInterface<'Payroll.RecoveryCasesList'> {\n companyId: string\n onEvent: BaseComponentInterface['onEvent']\n}\n\n/** @internal */\nexport function RecoveryCasesList(props: RecoveryCasesListProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction getStatusBadgeStatus(status: RecoveryCaseStatus | undefined): BadgeProps['status'] {\n if (status === 'open') {\n return 'info'\n }\n return 'warning'\n}\n\nfunction ErrorCodeCell({ errorCode }: { errorCode: string | null | undefined }) {\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Text } = useComponentContext()\n const { title, subtitle } = useRecoveryCaseErrorCode(errorCode)\n\n if (!title && !subtitle) {\n return (\n <span aria-label={t('labels.noLatestErrorCodeAriaLabel')} aria-live=\"polite\">\n {t('labels.noLatestErrorCode')}\n </span>\n )\n }\n\n return (\n <Flex flexDirection=\"column\" gap={4}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {subtitle && <Text>{subtitle}</Text>}\n </Flex>\n )\n}\n\nfunction StatusCell({ status }: { status: RecoveryCaseStatus | undefined }) {\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Badge } = useComponentContext()\n\n if (!status) {\n return null\n }\n\n const badgeStatus = getStatusBadgeStatus(status)\n const statusLabel = t(`status.${status}`)\n\n return <Badge status={badgeStatus}>{statusLabel}</Badge>\n}\n\nfunction ResolveButton({\n recoveryCase,\n onEvent,\n}: {\n recoveryCase: RecoveryCase\n onEvent: BaseComponentInterface['onEvent']\n}) {\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Button } = useComponentContext()\n\n if (recoveryCase.status !== 'open') {\n return null\n }\n\n return (\n <Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(recoveryCasesEvents.RECOVERY_CASE_RESOLVE, {\n recoveryCaseId: recoveryCase.uuid,\n })\n }}\n >\n {t('cta.resolve')}\n </Button>\n )\n}\n\nfunction Root({ companyId, dictionary, onEvent }: RecoveryCasesListProps) {\n useComponentDictionary('Payroll.RecoveryCasesList', dictionary)\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Heading, Text } = useComponentContext()\n\n const { data } = useRecoveryCasesGetSuspense({\n companyUuid: companyId,\n })\n\n const recoveryCases = (data.recoveryCases ?? []).filter(rc => rc.status !== 'recovered')\n\n const dataViewProps = useDataView({\n data: recoveryCases,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')} />\n ),\n columns: [\n {\n key: 'originalDebitDate',\n title: t('columns.originalDebitDate'),\n render: recoveryCase => (\n <FlexItem flexGrow={1}>\n <Text>{recoveryCase.originalDebitDate ?? '-'}</Text>\n </FlexItem>\n ),\n },\n {\n key: 'totalAmount',\n title: t('columns.totalAmount'),\n render: recoveryCase => (\n <Text>\n {recoveryCase.eventTotalAmount\n ? formatNumberAsCurrency(parseFloat(recoveryCase.eventTotalAmount))\n : '-'}\n </Text>\n ),\n },\n {\n key: 'amountOutstanding',\n title: t('columns.amountOutstanding'),\n render: recoveryCase => (\n <Text>\n {recoveryCase.amountOutstanding\n ? formatNumberAsCurrency(parseFloat(recoveryCase.amountOutstanding))\n : '-'}\n </Text>\n ),\n },\n {\n key: 'latestErrorCode',\n title: t('columns.latestErrorCode'),\n render: recoveryCase => <ErrorCodeCell errorCode={recoveryCase.latestErrorCode} />,\n },\n {\n key: 'status',\n title: t('columns.status'),\n render: recoveryCase => <StatusCell status={recoveryCase.status} />,\n },\n ],\n itemMenu: recoveryCase => <ResolveButton recoveryCase={recoveryCase} onEvent={onEvent} />,\n })\n\n return (\n <div className={styles.root}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex flexDirection=\"column\" gap={2}>\n <Heading as=\"h2\" styledAs=\"h4\">\n {t('title')}\n </Heading>\n {recoveryCases.length > 0 && <Text>{t('description')}</Text>}\n </Flex>\n\n <DataView {...dataViewProps} label={t('title')} />\n </Flex>\n </div>\n )\n}\n"],"names":["RecoveryCasesList","props","jsx","BaseComponent","Root","getStatusBadgeStatus","status","ErrorCodeCell","errorCode","useI18n","t","useTranslation","Text","useComponentContext","title","subtitle","useRecoveryCaseErrorCode","jsxs","Flex","StatusCell","Badge","badgeStatus","statusLabel","ResolveButton","recoveryCase","onEvent","Button","recoveryCasesEvents","companyId","dictionary","useComponentDictionary","Heading","data","useRecoveryCasesGetSuspense","recoveryCases","rc","dataViewProps","useDataView","EmptyData","FlexItem","formatNumberAsCurrency","styles","DataView"],"mappings":"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"}
1
+ {"version":3,"file":"RecoveryCasesList.js","sources":["../../../../../src/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type {\n RecoveryCase,\n RecoveryCaseStatus,\n} from '@gusto/embedded-api-v-2025-11-15/models/components/recoverycase'\nimport { useRecoveryCasesGetSuspense } from '@gusto/embedded-api-v-2025-11-15/react-query/recoveryCasesGet'\nimport { useRecoveryCaseErrorCode } from '../useRecoveryCaseErrorCode'\nimport styles from './RecoveryCasesList.module.scss'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { DataView } from '@/components/Common/DataView/DataView'\nimport { useDataView } from '@/components/Common/DataView/useDataView'\nimport { EmptyData, Flex, FlexItem } from '@/components/Common'\nimport { recoveryCasesEvents } from '@/shared/constants'\nimport type { BadgeProps } from '@/components/Common/UI/Badge/BadgeTypes'\nimport { formatNumberAsCurrency } from '@/helpers/formattedStrings'\n\ninterface RecoveryCasesListProps extends BaseComponentInterface<'Payroll.RecoveryCasesList'> {\n companyId: string\n}\n\n/** @internal */\nexport function RecoveryCasesList(props: RecoveryCasesListProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction getStatusBadgeStatus(status: RecoveryCaseStatus | undefined): BadgeProps['status'] {\n if (status === 'open') {\n return 'info'\n }\n return 'warning'\n}\n\nfunction ErrorCodeCell({ errorCode }: { errorCode: string | null | undefined }) {\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Text } = useComponentContext()\n const { title, subtitle } = useRecoveryCaseErrorCode(errorCode)\n\n if (!title && !subtitle) {\n return (\n <span aria-label={t('labels.noLatestErrorCodeAriaLabel')} aria-live=\"polite\">\n {t('labels.noLatestErrorCode')}\n </span>\n )\n }\n\n return (\n <Flex flexDirection=\"column\" gap={4}>\n {title && <Text weight=\"semibold\">{title}</Text>}\n {subtitle && <Text>{subtitle}</Text>}\n </Flex>\n )\n}\n\nfunction StatusCell({ status }: { status: RecoveryCaseStatus | undefined }) {\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Badge } = useComponentContext()\n\n if (!status) {\n return null\n }\n\n const badgeStatus = getStatusBadgeStatus(status)\n const statusLabel = t(`status.${status}`)\n\n return <Badge status={badgeStatus}>{statusLabel}</Badge>\n}\n\nfunction ResolveButton({\n recoveryCase,\n onEvent,\n}: {\n recoveryCase: RecoveryCase\n onEvent: BaseComponentInterface['onEvent']\n}) {\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Button } = useComponentContext()\n\n if (recoveryCase.status !== 'open') {\n return null\n }\n\n return (\n <Button\n variant=\"secondary\"\n onClick={() => {\n onEvent(recoveryCasesEvents.RECOVERY_CASE_RESOLVE, {\n recoveryCaseId: recoveryCase.uuid,\n })\n }}\n >\n {t('cta.resolve')}\n </Button>\n )\n}\n\nfunction Root({ companyId, dictionary, onEvent }: RecoveryCasesListProps) {\n useComponentDictionary('Payroll.RecoveryCasesList', dictionary)\n useI18n('Payroll.RecoveryCasesList')\n const { t } = useTranslation('Payroll.RecoveryCasesList')\n const { Heading, Text } = useComponentContext()\n\n const { data } = useRecoveryCasesGetSuspense({\n companyUuid: companyId,\n })\n\n const recoveryCases = (data.recoveryCases ?? []).filter(rc => rc.status !== 'recovered')\n\n const dataViewProps = useDataView({\n data: recoveryCases,\n emptyState: () => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')} />\n ),\n columns: [\n {\n key: 'originalDebitDate',\n title: t('columns.originalDebitDate'),\n render: recoveryCase => (\n <FlexItem flexGrow={1}>\n <Text>{recoveryCase.originalDebitDate ?? '-'}</Text>\n </FlexItem>\n ),\n },\n {\n key: 'totalAmount',\n title: t('columns.totalAmount'),\n render: recoveryCase => (\n <Text>\n {recoveryCase.eventTotalAmount\n ? formatNumberAsCurrency(parseFloat(recoveryCase.eventTotalAmount))\n : '-'}\n </Text>\n ),\n },\n {\n key: 'amountOutstanding',\n title: t('columns.amountOutstanding'),\n render: recoveryCase => (\n <Text>\n {recoveryCase.amountOutstanding\n ? formatNumberAsCurrency(parseFloat(recoveryCase.amountOutstanding))\n : '-'}\n </Text>\n ),\n },\n {\n key: 'latestErrorCode',\n title: t('columns.latestErrorCode'),\n render: recoveryCase => <ErrorCodeCell errorCode={recoveryCase.latestErrorCode} />,\n },\n {\n key: 'status',\n title: t('columns.status'),\n render: recoveryCase => <StatusCell status={recoveryCase.status} />,\n },\n ],\n itemMenu: recoveryCase => <ResolveButton recoveryCase={recoveryCase} onEvent={onEvent} />,\n })\n\n return (\n <div className={styles.root}>\n <Flex flexDirection=\"column\" gap={20}>\n <Flex flexDirection=\"column\" gap={2}>\n <Heading as=\"h2\" styledAs=\"h4\">\n {t('title')}\n </Heading>\n {recoveryCases.length > 0 && <Text>{t('description')}</Text>}\n </Flex>\n\n <DataView {...dataViewProps} label={t('title')} />\n </Flex>\n </div>\n )\n}\n"],"names":["RecoveryCasesList","props","jsx","BaseComponent","Root","getStatusBadgeStatus","status","ErrorCodeCell","errorCode","useI18n","t","useTranslation","Text","useComponentContext","title","subtitle","useRecoveryCaseErrorCode","jsxs","Flex","StatusCell","Badge","badgeStatus","statusLabel","ResolveButton","recoveryCase","onEvent","Button","recoveryCasesEvents","companyId","dictionary","useComponentDictionary","Heading","data","useRecoveryCasesGetSuspense","recoveryCases","rc","dataViewProps","useDataView","EmptyData","FlexItem","formatNumberAsCurrency","styles","DataView"],"mappings":"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"}
@@ -3,7 +3,6 @@ import { OnEventType } from '../../../Base/useBase';
3
3
  import { EventType } from '../../../../shared/constants';
4
4
  interface RecoveryCasesResubmitProps extends BaseComponentInterface<'Payroll.RecoveryCasesResubmit'> {
5
5
  recoveryCaseId: string;
6
- onEvent: OnEventType<EventType, unknown>;
7
6
  }
8
7
  /** @internal */
9
8
  export declare function RecoveryCasesResubmit(props: RecoveryCasesResubmitProps): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"RecoveryCasesResubmit.js","sources":["../../../../../src/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useIsMutating } from '@tanstack/react-query'\nimport {\n useRecoveryCasesRedebitMutation,\n mutationKeyRecoveryCasesRedebit,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/recoveryCasesRedebit'\nimport { useRecoveryCasesGet } from '@gusto/embedded-api-v-2025-11-15/react-query/recoveryCasesGet'\nimport type { RecoveryCasesContextInterface } from '../RecoveryCasesComponents'\nimport { useRecoveryCaseErrorCode } from '../useRecoveryCaseErrorCode'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { Flex } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { recoveryCasesEvents, type EventType } from '@/shared/constants'\n\nconst RECOVERY_CASES_RESUBMIT_FORM_ID = 'gusto-sdk-recovery-cases-resubmit-form'\n\ninterface RecoveryCasesResubmitProps extends BaseComponentInterface<'Payroll.RecoveryCasesResubmit'> {\n recoveryCaseId: string\n onEvent: OnEventType<EventType, unknown>\n}\n\n/** @internal */\nexport function RecoveryCasesResubmit(props: RecoveryCasesResubmitProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ dictionary, recoveryCaseId }: RecoveryCasesResubmitProps) {\n useComponentDictionary('Payroll.RecoveryCasesResubmit', dictionary)\n const { Heading, Text } = useComponentContext()\n const { onEvent, baseSubmitHandler } = useBase()\n const { companyId } = useFlow<RecoveryCasesContextInterface>()\n\n const { data: recoveryCasesData } = useRecoveryCasesGet({\n companyUuid: companyId,\n })\n\n const recoveryCase = recoveryCasesData?.recoveryCases?.find(rc => rc.uuid === recoveryCaseId)\n\n const { title, subtitle, description } = useRecoveryCaseErrorCode(\n recoveryCase?.latestErrorCode ?? undefined,\n )\n\n const redebitMutation = useRecoveryCasesRedebitMutation()\n\n const onSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n await baseSubmitHandler({}, async () => {\n await redebitMutation.mutateAsync({\n request: {\n recoveryCaseUuid: recoveryCaseId,\n },\n })\n onEvent(recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_DONE, {\n recoveryCaseId,\n })\n })\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n {title && <Heading as=\"h2\">{title}</Heading>}\n {subtitle && <Text>{subtitle}</Text>}\n {description.length > 0 && description}\n {/*\n This empty form is used to connect the Footer's submit button to the submission logic\n via the form attribute. This is semantically incorrect and hidden from assistive tech.\n */}\n <Form id={RECOVERY_CASES_RESUBMIT_FORM_ID} onSubmit={onSubmit} aria-hidden=\"true\">\n {/* Empty form - submission triggered by footer button via form attribute */}\n </Form>\n </Flex>\n )\n}\n\nconst Footer = ({ onEvent }: { onEvent: OnEventType<EventType, unknown> }) => {\n useI18n('Payroll.RecoveryCasesResubmit')\n const { t } = useTranslation('Payroll.RecoveryCasesResubmit')\n const { Button } = useComponentContext()\n\n const isMutating = useIsMutating({\n mutationKey: mutationKeyRecoveryCasesRedebit(),\n })\n const isPending = isMutating > 0\n\n const handleCancel = () => {\n onEvent(recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_CANCEL)\n }\n\n return (\n <Flex justifyContent=\"flex-end\" gap={12}>\n <Button variant=\"secondary\" onClick={handleCancel} isDisabled={isPending}>\n {t('cta.cancel')}\n </Button>\n <Button\n variant=\"primary\"\n type=\"submit\"\n form={RECOVERY_CASES_RESUBMIT_FORM_ID}\n isLoading={isPending}\n >\n {t('cta.resubmit')}\n </Button>\n </Flex>\n )\n}\n\nRecoveryCasesResubmit.Footer = Footer\n"],"names":["RECOVERY_CASES_RESUBMIT_FORM_ID","RecoveryCasesResubmit","props","jsx","BaseComponent","Root","dictionary","recoveryCaseId","useComponentDictionary","Heading","Text","useComponentContext","onEvent","baseSubmitHandler","useBase","companyId","useFlow","recoveryCasesData","useRecoveryCasesGet","recoveryCase","rc","title","subtitle","description","useRecoveryCaseErrorCode","redebitMutation","useRecoveryCasesRedebitMutation","onSubmit","e","recoveryCasesEvents","jsxs","Flex","Form","Footer","useI18n","t","useTranslation","Button","isPending","useIsMutating","mutationKeyRecoveryCasesRedebit"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAMA,IAAkC;AAQjC,SAASC,EAAsBC,GAAmC;AACvE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,GAAY,gBAAAC,KAA8C;AACxE,EAAAC,EAAuB,iCAAiCF,CAAU;AAClE,QAAM,EAAE,SAAAG,GAAS,MAAAC,EAAA,IAASC,EAAA,GACpB,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjC,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhB,EAAE,MAAMC,EAAA,IAAsBC,EAAoB;AAAA,IACtD,aAAaH;AAAA,EAAA,CACd,GAEKI,IAAeF,GAAmB,eAAe,KAAK,CAAAG,MAAMA,EAAG,SAASb,CAAc,GAEtF,EAAE,OAAAc,GAAO,UAAAC,GAAU,aAAAC,EAAA,IAAgBC;AAAA,IACvCL,GAAc,mBAAmB;AAAA,EAAA,GAG7BM,IAAkBC,EAAA,GAElBC,IAAW,OAAOC,MAAwC;AAC9D,IAAAA,EAAE,eAAA,GACF,MAAMf,EAAkB,CAAA,GAAI,YAAY;AACtC,YAAMY,EAAgB,YAAY;AAAA,QAChC,SAAS;AAAA,UACP,kBAAkBlB;AAAA,QAAA;AAAA,MACpB,CACD,GACDK,EAAQiB,EAAoB,6BAA6B;AAAA,QACvD,gBAAAtB;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SACE,gBAAAuB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,IAAAV,KAAS,gBAAAlB,EAACM,GAAA,EAAQ,IAAG,MAAM,UAAAY,GAAM;AAAA,IACjCC,KAAY,gBAAAnB,EAACO,GAAA,EAAM,UAAAY,EAAA,CAAS;AAAA,IAC5BC,EAAY,SAAS,KAAKA;AAAA,sBAK1BS,GAAA,EAAK,IAAIhC,GAAiC,UAAA2B,GAAoB,eAAY,OAAA,CAE3E;AAAA,EAAA,GACF;AAEJ;AAEA,MAAMM,IAAS,CAAC,EAAE,SAAArB,QAA4D;AAC5E,EAAAsB,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GACtD,EAAE,QAAAC,EAAA,IAAW1B,EAAA,GAKb2B,IAHaC,EAAc;AAAA,IAC/B,aAAaC,EAAA;AAAA,EAAgC,CAC9C,IAC8B;AAM/B,SACE,gBAAAV,EAACC,GAAA,EAAK,gBAAe,YAAW,KAAK,IACnC,UAAA;AAAA,IAAA,gBAAA5B,EAACkC,GAAA,EAAO,SAAQ,aAAY,SANX,MAAM;AACzB,MAAAzB,EAAQiB,EAAoB,6BAA6B;AAAA,IAC3D,GAIuD,YAAYS,GAC5D,UAAAH,EAAE,YAAY,EAAA,CACjB;AAAA,IACA,gBAAAhC;AAAA,MAACkC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,MAAMrC;AAAA,QACN,WAAWsC;AAAA,QAEV,YAAE,cAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EACnB,GACF;AAEJ;AAEArC,EAAsB,SAASgC;"}
1
+ {"version":3,"file":"RecoveryCasesResubmit.js","sources":["../../../../../src/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useIsMutating } from '@tanstack/react-query'\nimport {\n useRecoveryCasesRedebitMutation,\n mutationKeyRecoveryCasesRedebit,\n} from '@gusto/embedded-api-v-2025-11-15/react-query/recoveryCasesRedebit'\nimport { useRecoveryCasesGet } from '@gusto/embedded-api-v-2025-11-15/react-query/recoveryCasesGet'\nimport type { RecoveryCasesContextInterface } from '../RecoveryCasesComponents'\nimport { useRecoveryCaseErrorCode } from '../useRecoveryCaseErrorCode'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport type { OnEventType } from '@/components/Base/useBase'\nimport { Flex } from '@/components/Common'\nimport { Form } from '@/components/Common/Form'\nimport { useFlow } from '@/components/Flow/useFlow'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { recoveryCasesEvents, type EventType } from '@/shared/constants'\n\nconst RECOVERY_CASES_RESUBMIT_FORM_ID = 'gusto-sdk-recovery-cases-resubmit-form'\n\ninterface RecoveryCasesResubmitProps extends BaseComponentInterface<'Payroll.RecoveryCasesResubmit'> {\n recoveryCaseId: string\n}\n\n/** @internal */\nexport function RecoveryCasesResubmit(props: RecoveryCasesResubmitProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ dictionary, recoveryCaseId }: RecoveryCasesResubmitProps) {\n useComponentDictionary('Payroll.RecoveryCasesResubmit', dictionary)\n const { Heading, Text } = useComponentContext()\n const { onEvent, baseSubmitHandler } = useBase()\n const { companyId } = useFlow<RecoveryCasesContextInterface>()\n\n const { data: recoveryCasesData } = useRecoveryCasesGet({\n companyUuid: companyId,\n })\n\n const recoveryCase = recoveryCasesData?.recoveryCases?.find(rc => rc.uuid === recoveryCaseId)\n\n const { title, subtitle, description } = useRecoveryCaseErrorCode(\n recoveryCase?.latestErrorCode ?? undefined,\n )\n\n const redebitMutation = useRecoveryCasesRedebitMutation()\n\n const onSubmit = async (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n await baseSubmitHandler({}, async () => {\n await redebitMutation.mutateAsync({\n request: {\n recoveryCaseUuid: recoveryCaseId,\n },\n })\n onEvent(recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_DONE, {\n recoveryCaseId,\n })\n })\n }\n\n return (\n <Flex flexDirection=\"column\" gap={16}>\n {title && <Heading as=\"h2\">{title}</Heading>}\n {subtitle && <Text>{subtitle}</Text>}\n {description.length > 0 && description}\n {/*\n This empty form is used to connect the Footer's submit button to the submission logic\n via the form attribute. This is semantically incorrect and hidden from assistive tech.\n */}\n <Form id={RECOVERY_CASES_RESUBMIT_FORM_ID} onSubmit={onSubmit} aria-hidden=\"true\">\n {/* Empty form - submission triggered by footer button via form attribute */}\n </Form>\n </Flex>\n )\n}\n\nconst Footer = ({ onEvent }: { onEvent: OnEventType<EventType, unknown> }) => {\n useI18n('Payroll.RecoveryCasesResubmit')\n const { t } = useTranslation('Payroll.RecoveryCasesResubmit')\n const { Button } = useComponentContext()\n\n const isMutating = useIsMutating({\n mutationKey: mutationKeyRecoveryCasesRedebit(),\n })\n const isPending = isMutating > 0\n\n const handleCancel = () => {\n onEvent(recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_CANCEL)\n }\n\n return (\n <Flex justifyContent=\"flex-end\" gap={12}>\n <Button variant=\"secondary\" onClick={handleCancel} isDisabled={isPending}>\n {t('cta.cancel')}\n </Button>\n <Button\n variant=\"primary\"\n type=\"submit\"\n form={RECOVERY_CASES_RESUBMIT_FORM_ID}\n isLoading={isPending}\n >\n {t('cta.resubmit')}\n </Button>\n </Flex>\n )\n}\n\nRecoveryCasesResubmit.Footer = Footer\n"],"names":["RECOVERY_CASES_RESUBMIT_FORM_ID","RecoveryCasesResubmit","props","jsx","BaseComponent","Root","dictionary","recoveryCaseId","useComponentDictionary","Heading","Text","useComponentContext","onEvent","baseSubmitHandler","useBase","companyId","useFlow","recoveryCasesData","useRecoveryCasesGet","recoveryCase","rc","title","subtitle","description","useRecoveryCaseErrorCode","redebitMutation","useRecoveryCasesRedebitMutation","onSubmit","e","recoveryCasesEvents","jsxs","Flex","Form","Footer","useI18n","t","useTranslation","Button","isPending","useIsMutating","mutationKeyRecoveryCasesRedebit"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAMA,IAAkC;AAOjC,SAASC,EAAsBC,GAAmC;AACvE,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEA,SAASG,EAAK,EAAE,YAAAC,GAAY,gBAAAC,KAA8C;AACxE,EAAAC,EAAuB,iCAAiCF,CAAU;AAClE,QAAM,EAAE,SAAAG,GAAS,MAAAC,EAAA,IAASC,EAAA,GACpB,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjC,EAAE,WAAAC,EAAA,IAAcC,EAAA,GAEhB,EAAE,MAAMC,EAAA,IAAsBC,EAAoB;AAAA,IACtD,aAAaH;AAAA,EAAA,CACd,GAEKI,IAAeF,GAAmB,eAAe,KAAK,CAAAG,MAAMA,EAAG,SAASb,CAAc,GAEtF,EAAE,OAAAc,GAAO,UAAAC,GAAU,aAAAC,EAAA,IAAgBC;AAAA,IACvCL,GAAc,mBAAmB;AAAA,EAAA,GAG7BM,IAAkBC,EAAA,GAElBC,IAAW,OAAOC,MAAwC;AAC9D,IAAAA,EAAE,eAAA,GACF,MAAMf,EAAkB,CAAA,GAAI,YAAY;AACtC,YAAMY,EAAgB,YAAY;AAAA,QAChC,SAAS;AAAA,UACP,kBAAkBlB;AAAA,QAAA;AAAA,MACpB,CACD,GACDK,EAAQiB,EAAoB,6BAA6B;AAAA,QACvD,gBAAAtB;AAAA,MAAA,CACD;AAAA,IACH,CAAC;AAAA,EACH;AAEA,SACE,gBAAAuB,EAACC,GAAA,EAAK,eAAc,UAAS,KAAK,IAC/B,UAAA;AAAA,IAAAV,KAAS,gBAAAlB,EAACM,GAAA,EAAQ,IAAG,MAAM,UAAAY,GAAM;AAAA,IACjCC,KAAY,gBAAAnB,EAACO,GAAA,EAAM,UAAAY,EAAA,CAAS;AAAA,IAC5BC,EAAY,SAAS,KAAKA;AAAA,sBAK1BS,GAAA,EAAK,IAAIhC,GAAiC,UAAA2B,GAAoB,eAAY,OAAA,CAE3E;AAAA,EAAA,GACF;AAEJ;AAEA,MAAMM,IAAS,CAAC,EAAE,SAAArB,QAA4D;AAC5E,EAAAsB,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GACtD,EAAE,QAAAC,EAAA,IAAW1B,EAAA,GAKb2B,IAHaC,EAAc;AAAA,IAC/B,aAAaC,EAAA;AAAA,EAAgC,CAC9C,IAC8B;AAM/B,SACE,gBAAAV,EAACC,GAAA,EAAK,gBAAe,YAAW,KAAK,IACnC,UAAA;AAAA,IAAA,gBAAA5B,EAACkC,GAAA,EAAO,SAAQ,aAAY,SANX,MAAM;AACzB,MAAAzB,EAAQiB,EAAoB,6BAA6B;AAAA,IAC3D,GAIuD,YAAYS,GAC5D,UAAAH,EAAE,YAAY,EAAA,CACjB;AAAA,IACA,gBAAAhC;AAAA,MAACkC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,MAAMrC;AAAA,QACN,WAAWsC;AAAA,QAEV,YAAE,cAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EACnB,GACF;AAEJ;AAEArC,EAAsB,SAASgC;"}
@@ -19,24 +19,20 @@ const a = {
19
19
  t(
20
20
  r.RECOVERY_CASE_RESUBMIT_DONE,
21
21
  "list",
22
- s(
23
- (e) => ({
24
- ...e,
25
- component: null,
26
- selectedRecoveryCaseId: void 0
27
- })
28
- )
22
+ s((e) => ({
23
+ ...e,
24
+ component: null,
25
+ selectedRecoveryCaseId: void 0
26
+ }))
29
27
  ),
30
28
  t(
31
29
  r.RECOVERY_CASE_RESUBMIT_CANCEL,
32
30
  "list",
33
- s(
34
- (e) => ({
35
- ...e,
36
- component: null,
37
- selectedRecoveryCaseId: void 0
38
- })
39
- )
31
+ s((e) => ({
32
+ ...e,
33
+ component: null,
34
+ selectedRecoveryCaseId: void 0
35
+ }))
40
36
  )
41
37
  ),
42
38
  final: o()
@@ -1 +1 @@
1
- {"version":3,"file":"recoveryCasesStateMachine.js","sources":["../../../../src/components/Payroll/RecoveryCases/recoveryCasesStateMachine.tsx"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { RecoveryCasesContextInterface } from './RecoveryCasesComponents'\nimport { RecoveryCasesResubmitContextual } from './RecoveryCasesComponents'\nimport { recoveryCasesEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/** @internal */\nexport type EventPayloads = {\n /** Payload carried when a user opens the resubmit modal for a recovery case. */\n [recoveryCasesEvents.RECOVERY_CASE_RESOLVE]: {\n recoveryCaseId: string\n }\n /** No payload — the modal was cancelled. */\n [recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_CANCEL]: undefined\n /** No payload — the resubmit completed successfully. */\n [recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_DONE]: undefined\n}\n\n/** @internal */\nexport const recoveryCasesMachine = {\n list: state<MachineTransition>(\n transition(\n recoveryCasesEvents.RECOVERY_CASE_RESOLVE,\n 'resubmit',\n reduce(\n (\n ctx: RecoveryCasesContextInterface,\n ev: MachineEventType<EventPayloads, typeof recoveryCasesEvents.RECOVERY_CASE_RESOLVE>,\n ): RecoveryCasesContextInterface => ({\n ...ctx,\n component: RecoveryCasesResubmitContextual,\n selectedRecoveryCaseId: ev.payload.recoveryCaseId,\n }),\n ),\n ),\n ),\n resubmit: state<MachineTransition>(\n transition(\n recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_DONE,\n 'list',\n reduce(\n (ctx: RecoveryCasesContextInterface): RecoveryCasesContextInterface => ({\n ...ctx,\n component: null,\n selectedRecoveryCaseId: undefined,\n }),\n ),\n ),\n transition(\n recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_CANCEL,\n 'list',\n reduce(\n (ctx: RecoveryCasesContextInterface): RecoveryCasesContextInterface => ({\n ...ctx,\n component: null,\n selectedRecoveryCaseId: undefined,\n }),\n ),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["recoveryCasesMachine","state","transition","recoveryCasesEvents","reduce","ctx","ev","RecoveryCasesResubmitContextual"],"mappings":";;;AAmBO,MAAMA,IAAuB;AAAA,EAClC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAoB;AAAA,MACpB;AAAA,MACAC;AAAA,QACE,CACEC,GACAC,OACmC;AAAA,UACnC,GAAGD;AAAA,UACH,WAAWE;AAAA,UACX,wBAAwBD,EAAG,QAAQ;AAAA,QAAA;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AAAA,EAEF,UAAUL;AAAA,IACRC;AAAA,MACEC,EAAoB;AAAA,MACpB;AAAA,MACAC;AAAA,QACE,CAACC,OAAuE;AAAA,UACtE,GAAGA;AAAA,UACH,WAAW;AAAA,UACX,wBAAwB;AAAA,QAAA;AAAA,MAC1B;AAAA,IACF;AAAA,IAEFH;AAAA,MACEC,EAAoB;AAAA,MACpB;AAAA,MACAC;AAAA,QACE,CAACC,OAAuE;AAAA,UACtE,GAAGA;AAAA,UACH,WAAW;AAAA,UACX,wBAAwB;AAAA,QAAA;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EAEF,OAAOJ,EAAA;AACT;"}
1
+ {"version":3,"file":"recoveryCasesStateMachine.js","sources":["../../../../src/components/Payroll/RecoveryCases/recoveryCasesStateMachine.tsx"],"sourcesContent":["import { state, transition, reduce } from 'robot3'\nimport type { RecoveryCasesContextInterface } from './RecoveryCasesComponents'\nimport { RecoveryCasesResubmitContextual } from './RecoveryCasesComponents'\nimport { recoveryCasesEvents } from '@/shared/constants'\nimport type { MachineEventType, MachineTransition } from '@/types/Helpers'\n\n/** @internal */\nexport type EventPayloads = {\n /** Payload carried when a user opens the resubmit modal for a recovery case. */\n [recoveryCasesEvents.RECOVERY_CASE_RESOLVE]: {\n recoveryCaseId: string\n }\n /** No payload — the modal was cancelled. */\n [recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_CANCEL]: undefined\n /** No payload — the resubmit completed successfully. */\n [recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_DONE]: undefined\n}\n\n/** @internal */\nexport const recoveryCasesMachine = {\n list: state<MachineTransition>(\n transition(\n recoveryCasesEvents.RECOVERY_CASE_RESOLVE,\n 'resubmit',\n reduce(\n (\n ctx: RecoveryCasesContextInterface,\n ev: MachineEventType<EventPayloads, typeof recoveryCasesEvents.RECOVERY_CASE_RESOLVE>,\n ): RecoveryCasesContextInterface => ({\n ...ctx,\n component: RecoveryCasesResubmitContextual,\n selectedRecoveryCaseId: ev.payload.recoveryCaseId,\n }),\n ),\n ),\n ),\n resubmit: state<MachineTransition>(\n transition(\n recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_DONE,\n 'list',\n reduce((ctx: RecoveryCasesContextInterface): RecoveryCasesContextInterface => ({\n ...ctx,\n component: null,\n selectedRecoveryCaseId: undefined,\n })),\n ),\n transition(\n recoveryCasesEvents.RECOVERY_CASE_RESUBMIT_CANCEL,\n 'list',\n reduce((ctx: RecoveryCasesContextInterface): RecoveryCasesContextInterface => ({\n ...ctx,\n component: null,\n selectedRecoveryCaseId: undefined,\n })),\n ),\n ),\n final: state<MachineTransition>(),\n}\n"],"names":["recoveryCasesMachine","state","transition","recoveryCasesEvents","reduce","ctx","ev","RecoveryCasesResubmitContextual"],"mappings":";;;AAmBO,MAAMA,IAAuB;AAAA,EAClC,MAAMC;AAAA,IACJC;AAAA,MACEC,EAAoB;AAAA,MACpB;AAAA,MACAC;AAAA,QACE,CACEC,GACAC,OACmC;AAAA,UACnC,GAAGD;AAAA,UACH,WAAWE;AAAA,UACX,wBAAwBD,EAAG,QAAQ;AAAA,QAAA;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AAAA,EAEF,UAAUL;AAAA,IACRC;AAAA,MACEC,EAAoB;AAAA,MACpB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAW;AAAA,QACX,wBAAwB;AAAA,MAAA,EACxB;AAAA,IAAA;AAAA,IAEJH;AAAA,MACEC,EAAoB;AAAA,MACpB;AAAA,MACAC,EAAO,CAACC,OAAuE;AAAA,QAC7E,GAAGA;AAAA,QACH,WAAW;AAAA,QACX,wBAAwB;AAAA,MAAA,EACxB;AAAA,IAAA;AAAA,EACJ;AAAA,EAEF,OAAOJ,EAAA;AACT;"}
@@ -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":";;;;;;;;;;;;;;;;;;;AA4CO,SAASA,GAAmBC,GAAgC;AACjE,SACE,gBAAAC,EAACC,KAAe,GAAGF,GACjB,4BAACG,GAAA,EAAM,GAAGH,GAAO,EAAA,CACnB;AAEJ;AAEA,SAASG,EAAK;AAAA,EACZ,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,iBAAAC;AACF,GAA4B;AAC1B,EAAAC,EAAuB,8BAA8BL,CAAU,GAC/DM,EAAQ,4BAA4B,GACpCA,EAAQ,mCAAmC,GAC3CA,EAAQ,gCAAgC;AAExC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,4BAA4B,GACnD,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GAEjC,EAAE,kBAAAC,EAAA,IAAqBC,EAAuBZ,CAAS,GAEvD,EAAE,cAAAa,EAAA,IAAiBC,EAAmCH,CAAgB,GACtE,EAAE,aAAaI,GAAyB,WAAAC,EAAA,IAAcC,EAAA,GAEtD,EAAE,MAAMC,EAAA,IAAqBC,EAA8B,EAAE,WAAAnB,GAAW,GAExE,CAACoB,GAAsBC,CAAuB,IAAIC,EAAuC;AAAA,IAC7F,sBAAsBC,EAAqB;AAAA,IAC3C,iBAAiB;AAAA,EAAA,CAClB,GACK,CAACC,GAA2BC,CAA4B,IAAIH,EAAS,EAAK,GAE1EI,IAAgCC,EAAY,MAAM;AACtD,IAAAF,EAA6B,EAAI;AAAA,EACnC,GAAG,CAAA,CAAE,GAECG,IAAgCD,EAAY,CAACE,MAAyC;AAC1F,IAAAR,EAAwBQ,CAAM,GAC9BJ,EAA6B,EAAK;AAAA,EACpC,GAAG,CAAA,CAAE,GAECK,IAAkCH,EAAY,MAAM;AACxD,IAAAF,EAA6B,EAAK;AAAA,EACpC,GAAG,CAAA,CAAE,GAECM,IAAkBC,EAAQ,MAAM;AAEpC,UAAMC,KADYf,EAAiB,2BAA2B,CAAA,GACtC,KAAK,CAAAgB,MAAKA,EAAE,SAAS/B,CAAe;AAC5D,WAAO8B,GAAO,cAAcA,GAAO,QAAQ;AAAA,EAC7C,GAAG,CAACf,GAAkBf,CAAe,CAAC,GAEhCgC,IAAsB,CAACC,GAAaC;AAAA;AAAA,IAExC/B,EAAE8B,GAAYC,CAAc;AAAA,KAExBC,IAASN;AAAA,IACb,MAAMO,EAA+BJ,GAAqBtB,GAAcF,CAAgB;AAAA,IACxF,CAACL,GAAGO,GAAcF,CAAgB;AAAA,EAAA,GAG9B6B,IAAUC,EAAoC;AAAA,IAClD,UAAUC,EAAYJ,CAAM;AAAA,IAC5B,eAAe;AAAA,MACb,WAAW;AAAA,MACX,uBAAuB;AAAA,IAAA;AAAA,EACzB,CACD,GAEKK,IAAW,OAAOC,MAAqC;AAC3D,IAAKA,EAAK,aAEV,MAAMnC,EAAkBmC,GAAM,YAAY;AACxC,YAAMC,IAAW,MAAM9B,EAAwB;AAAA,QAC7C,SAAS;AAAA,UACP,WAAAf;AAAA,UACA,aAAa;AAAA,YACX,UAAU;AAAA,YACV,gBAAgB8C,EAAe;AAAA,YAC/B,WAAW,IAAIC,EAAQ9C,CAAS;AAAA,YAChC,SAAS,IAAI8C,EAAQ7C,CAAO;AAAA,YAC5B,WAAW,IAAI6C,EAAQH,EAAK,SAAU;AAAA,YACtC,iBAAAzC;AAAA,YACA,uBAAuByC,EAAK;AAAA,YAC5B,sBAAsBxB,EAAqB;AAAA,YAC3C,sBAAsBA,EAAqB,oBAAoB;AAAA,UAAA;AAAA,QACjE;AAAA,MACF,CACD,GAEK4B,IACJH,EAAS,oBAAoB,eAAeA,EAAS,oBAAoB;AAE3E,UAAI,CAACG;AACH,cAAM,IAAIC,EAAiB3C,EAAE,yBAAyB,CAAC;AAGzD,MAAAE,EAAQ0C,EAAgB,oBAAoB,EAAE,aAAAF,EAAA,CAAa;AAAA,IAC7D,CAAC;AAAA,EACH;AAEA,SACE,gBAAApD,EAACuD,GAAA,EAAc,GAAGX,GAChB,UAAA,gBAAA5C,EAACwD,KAAK,UAAUZ,EAAQ,aAAaG,CAAQ,GAC3C,UAAA,gBAAA/C;AAAA,IAACyD;AAAA,IAAA;AAAA,MACC,WAAApD;AAAA,MACA,SAAAC;AAAA,MACA,iBAAA6B;AAAA,MACA,WAAAf;AAAA,MACA,sBAAAI;AAAA,MACA,2BAAAI;AAAA,MACA,2BAA2BE;AAAA,MAC3B,2BAA2BE;AAAA,MAC3B,6BAA6BE;AAAA,IAAA;AAAA,EAAA,GAEjC,EAAA,CACF;AAEJ;"}
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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"}
@@ -11,11 +11,12 @@ import "@gusto/embedded-api-v-2025-11-15/models/errors/apierror";
11
11
  import "@gusto/embedded-api-v-2025-11-15/models/errors/gustoembeddederror";
12
12
  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
+ import "dompurify";
15
+ import "../../contexts/LocaleProvider/useLocale.js";
14
16
  import "../../shared/constants.js";
15
17
  import "../../contexts/ComponentAdapter/useComponentContext.js";
16
- import "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
17
18
  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 = ({
19
+ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.category === "invalid_operation") : !1, Z = ({
19
20
  companyId: e,
20
21
  payrollId: r,
21
22
  employeeUuids: a,
@@ -66,6 +67,6 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
66
67
  };
67
68
  };
68
69
  export {
69
- W as usePreparedPayrollData
70
+ Z as usePreparedPayrollData
70
71
  };
71
72
  //# 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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"}