@gusto/embedded-react-sdk 0.52.2 → 0.54.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 (959) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/DISCLAIMER.md +13 -0
  3. package/LICENSE +198 -4
  4. package/README.md +6 -0
  5. package/dist/components/Base/Base.d.ts +26 -5
  6. package/dist/components/Base/Base.js +89 -78
  7. package/dist/components/Base/Base.js.map +1 -1
  8. package/dist/components/Base/index.d.ts +1 -1
  9. package/dist/components/Common/DateRangeFilter/DateRangeFilter.d.ts +1 -2
  10. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js +42 -43
  11. package/dist/components/Common/DateRangeFilter/DateRangeFilter.js.map +1 -1
  12. package/dist/components/Common/Fields/PercentageField/PercentageField.js +44 -42
  13. package/dist/components/Common/Fields/PercentageField/PercentageField.js.map +1 -1
  14. package/dist/components/Common/UI/Box/Box.js +6 -6
  15. package/dist/components/Common/UI/Box/Box.js.map +1 -1
  16. package/dist/components/Common/UI/Box/Box.module.scss.js +8 -8
  17. package/dist/components/Common/UI/Box/BoxTypes.d.ts +1 -1
  18. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  19. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js +16 -14
  20. package/dist/components/Common/UI/CalendarPreview/CalendarPreview.js.map +1 -1
  21. package/dist/components/Common/UI/Dialog/Dialog.js +29 -28
  22. package/dist/components/Common/UI/Dialog/Dialog.js.map +1 -1
  23. package/dist/components/Common/UI/FileInput/FileInput.js +1 -1
  24. package/dist/components/Common/UI/FormBox/FormBox.d.ts +1 -1
  25. package/dist/components/Common/UI/FormBox/FormBox.js +9 -8
  26. package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -1
  27. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +8 -6
  28. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -1
  29. package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +5 -1
  30. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  31. package/dist/components/Company/AssignSignatory/AssignSignatory.js +7 -10
  32. package/dist/components/Company/AssignSignatory/AssignSignatory.js.map +1 -1
  33. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +6 -8
  34. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js.map +1 -1
  35. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js +8 -9
  36. package/dist/components/Company/AssignSignatory/CreateSignatory/Actions.js.map +1 -1
  37. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js +18 -21
  38. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatory.js.map +1 -1
  39. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +11 -12
  40. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js.map +1 -1
  41. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  42. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  43. package/dist/components/Company/AssignSignatory/Head.js +8 -9
  44. package/dist/components/Company/AssignSignatory/Head.js.map +1 -1
  45. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js +6 -7
  46. package/dist/components/Company/AssignSignatory/InviteSignatory/Actions.js.map +1 -1
  47. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js +5 -8
  48. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatory.js.map +1 -1
  49. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +20 -21
  50. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js.map +1 -1
  51. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  52. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  53. package/dist/components/Company/AssignSignatory/TitleSelect.js +10 -12
  54. package/dist/components/Company/AssignSignatory/TitleSelect.js.map +1 -1
  55. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  56. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  57. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js +2 -3
  58. package/dist/components/Company/BankAccount/BankAccountForm/Actions.js.map +1 -1
  59. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +9 -11
  60. package/dist/components/Company/BankAccount/BankAccountForm/Form.js.map +1 -1
  61. package/dist/components/Company/BankAccount/BankAccountForm/Head.js +2 -3
  62. package/dist/components/Company/BankAccount/BankAccountForm/Head.js.map +1 -1
  63. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  64. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  65. package/dist/components/Company/BankAccount/BankAccountList/Actions.js +6 -7
  66. package/dist/components/Company/BankAccount/BankAccountList/Actions.js.map +1 -1
  67. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js +7 -8
  68. package/dist/components/Company/BankAccount/BankAccountVerify/Actions.js.map +1 -1
  69. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +4 -6
  70. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js.map +1 -1
  71. package/dist/components/Company/BankAccount/stateMachine.d.ts +0 -1
  72. package/dist/components/Company/BankAccount/stateMachine.js +33 -35
  73. package/dist/components/Company/BankAccount/stateMachine.js.map +1 -1
  74. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js +5 -6
  75. package/dist/components/Company/DocumentSigner/DocumentList/Actions.js.map +1 -1
  76. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js +11 -14
  77. package/dist/components/Company/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  78. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  79. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  80. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js +7 -8
  81. package/dist/components/Company/DocumentSigner/SignatureForm/SignatureForm.js.map +1 -1
  82. package/dist/components/Company/DocumentSigner/stateMachine.d.ts +0 -1
  83. package/dist/components/Company/DocumentSigner/stateMachine.js +27 -29
  84. package/dist/components/Company/DocumentSigner/stateMachine.js.map +1 -1
  85. package/dist/components/Company/FederalTaxes/Actions.js +6 -7
  86. package/dist/components/Company/FederalTaxes/Actions.js.map +1 -1
  87. package/dist/components/Company/FederalTaxes/FederalTaxes.js +7 -10
  88. package/dist/components/Company/FederalTaxes/FederalTaxes.js.map +1 -1
  89. package/dist/components/Company/FederalTaxes/Form.js +4 -4
  90. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  91. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  92. package/dist/components/Company/Industry/Actions.js +5 -6
  93. package/dist/components/Company/Industry/Actions.js.map +1 -1
  94. package/dist/components/Company/Industry/Context.js +8 -6
  95. package/dist/components/Company/Industry/Context.js.map +1 -1
  96. package/dist/components/Company/Industry/Edit.js +10 -12
  97. package/dist/components/Company/Industry/Edit.js.map +1 -1
  98. package/dist/components/Company/Industry/IndustrySelect.js +6 -8
  99. package/dist/components/Company/Industry/IndustrySelect.js.map +1 -1
  100. package/dist/components/Company/Locations/LocationForm/Actions.js +6 -7
  101. package/dist/components/Company/Locations/LocationForm/Actions.js.map +1 -1
  102. package/dist/components/Company/Locations/LocationForm/Form.js +4 -6
  103. package/dist/components/Company/Locations/LocationForm/Form.js.map +1 -1
  104. package/dist/components/Company/Locations/LocationForm/LocationForm.js +11 -14
  105. package/dist/components/Company/Locations/LocationForm/LocationForm.js.map +1 -1
  106. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  107. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  108. package/dist/components/Company/Locations/LocationsList/Actions.js +2 -3
  109. package/dist/components/Company/Locations/LocationsList/Actions.js.map +1 -1
  110. package/dist/components/Company/Locations/LocationsList/LocationsList.js +9 -12
  111. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  112. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  113. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  114. package/dist/components/Company/OnboardingOverview/Completed.js +5 -6
  115. package/dist/components/Company/OnboardingOverview/Completed.js.map +1 -1
  116. package/dist/components/Company/OnboardingOverview/MissingRequirements.js +9 -10
  117. package/dist/components/Company/OnboardingOverview/MissingRequirements.js.map +1 -1
  118. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js +2 -5
  119. package/dist/components/Company/OnboardingOverview/OnboardingOverview.js.map +1 -1
  120. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  121. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  122. package/dist/components/Company/PaySchedule/PayScheduleForm.d.ts +4 -1
  123. package/dist/components/Company/PaySchedule/PayScheduleForm.js +66 -63
  124. package/dist/components/Company/PaySchedule/PayScheduleForm.js.map +1 -1
  125. package/dist/components/Company/PaySchedule/payScheduleStateMachine.d.ts +0 -1
  126. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js +26 -28
  127. package/dist/components/Company/PaySchedule/payScheduleStateMachine.js.map +1 -1
  128. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +2 -1
  129. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  130. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
  131. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +29 -16
  132. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  133. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js +2 -3
  134. package/dist/components/Company/StateTaxes/StateTaxesForm/Actions.js.map +1 -1
  135. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.d.ts +1 -1
  136. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js +21 -32
  137. package/dist/components/Company/StateTaxes/StateTaxesForm/Form.js.map +1 -1
  138. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js +67 -75
  139. package/dist/components/Company/StateTaxes/StateTaxesForm/StateTaxesForm.js.map +1 -1
  140. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  141. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  142. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js +6 -7
  143. package/dist/components/Company/StateTaxes/StateTaxesList/Actions.js.map +1 -1
  144. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +62 -47
  145. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  146. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +1 -0
  147. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +26 -23
  148. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  149. package/dist/components/Company/StateTaxes/StateTaxesList/context.d.ts +1 -0
  150. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  151. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  152. package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.d.ts +12 -0
  153. package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js +36 -0
  154. package/dist/components/Company/StateTaxes/TaxRateManagement/AddRateAction.js.map +1 -0
  155. package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.d.ts +10 -0
  156. package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js +110 -0
  157. package/dist/components/Company/StateTaxes/TaxRateManagement/AddTaxRateDialog.js.map +1 -0
  158. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.d.ts +18 -0
  159. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js +55 -0
  160. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateHistorySection.js.map +1 -0
  161. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.d.ts +47 -0
  162. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js +108 -0
  163. package/dist/components/Company/StateTaxes/TaxRateManagement/TaxRateManagement.js.map +1 -0
  164. package/dist/components/Company/StateTaxes/TaxRateManagement/context.d.ts +25 -0
  165. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js +23 -0
  166. package/dist/components/Company/StateTaxes/TaxRateManagement/context.js.map +1 -0
  167. package/dist/components/Company/StateTaxes/TaxRateManagement/index.d.ts +1 -0
  168. package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.d.ts +29 -0
  169. package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js +34 -0
  170. package/dist/components/Company/StateTaxes/TaxRateManagement/toHistoryRows.js.map +1 -0
  171. package/dist/components/Company/StateTaxes/shared/RequirementFields.d.ts +17 -0
  172. package/dist/components/Company/StateTaxes/shared/RequirementFields.js +24 -0
  173. package/dist/components/Company/StateTaxes/shared/RequirementFields.js.map +1 -0
  174. package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.d.ts +1 -1
  175. package/dist/components/Company/StateTaxes/shared/applicableIf.js.map +1 -0
  176. package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.d.ts +19 -0
  177. package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js +38 -0
  178. package/dist/components/Company/StateTaxes/shared/buildRequirementSchema.js.map +1 -0
  179. package/dist/components/Company/StateTaxes/shared/requirementValue.d.ts +2 -0
  180. package/dist/components/Company/StateTaxes/shared/requirementValue.js +7 -0
  181. package/dist/components/Company/StateTaxes/shared/requirementValue.js.map +1 -0
  182. package/dist/components/Company/StateTaxes/shared/rhfKey.d.ts +23 -0
  183. package/dist/components/Company/StateTaxes/shared/rhfKey.js +13 -0
  184. package/dist/components/Company/StateTaxes/shared/rhfKey.js.map +1 -0
  185. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.d.ts +1 -0
  186. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js +33 -11
  187. package/dist/components/Company/StateTaxes/stateTaxesStateMachine.js.map +1 -1
  188. package/dist/components/Company/exports/companyOnboarding.d.ts +1 -0
  189. package/dist/components/Company/exports/companyOnboarding.js +12 -10
  190. package/dist/components/Company/exports/companyOnboarding.js.map +1 -1
  191. package/dist/components/Contractor/Address/management/Address.d.ts +30 -0
  192. package/dist/components/Contractor/Address/management/Address.js +43 -0
  193. package/dist/components/Contractor/Address/management/Address.js.map +1 -0
  194. package/dist/components/Contractor/Address/management/AddressCard/AddressCard.d.ts +35 -0
  195. package/dist/components/Contractor/Address/management/AddressCard/AddressCard.js +45 -0
  196. package/dist/components/Contractor/Address/management/AddressCard/AddressCard.js.map +1 -0
  197. package/dist/components/Contractor/Address/management/AddressCard/index.d.ts +1 -0
  198. package/dist/components/Contractor/Address/management/AddressComponents.d.ts +12 -0
  199. package/dist/components/Contractor/Address/management/AddressComponents.js +48 -0
  200. package/dist/components/Contractor/Address/management/AddressComponents.js.map +1 -0
  201. package/dist/components/Contractor/Address/management/AddressEditForm.d.ts +29 -0
  202. package/dist/components/Contractor/Address/management/AddressEditForm.js +126 -0
  203. package/dist/components/Contractor/Address/management/AddressEditForm.js.map +1 -0
  204. package/dist/components/Contractor/Address/management/AddressEditForm.module.scss.js +8 -0
  205. package/dist/components/Contractor/Address/management/AddressEditForm.module.scss.js.map +1 -0
  206. package/dist/components/Contractor/Address/management/addressStateMachine.d.ts +5 -0
  207. package/dist/components/Contractor/Address/management/addressStateMachine.js +37 -0
  208. package/dist/components/Contractor/Address/management/addressStateMachine.js.map +1 -0
  209. package/dist/components/Contractor/Address/management/index.d.ts +3 -0
  210. package/dist/components/Contractor/Address/{Address.d.ts → onboarding/Address.d.ts} +7 -4
  211. package/dist/components/Contractor/Address/onboarding/Address.js +119 -0
  212. package/dist/components/Contractor/Address/onboarding/Address.js.map +1 -0
  213. package/dist/components/Contractor/Address/{types.d.ts → onboarding/types.d.ts} +2 -2
  214. package/dist/components/Contractor/Address/shared/useContractorAddressSummary/index.d.ts +1 -0
  215. package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.d.ts +19 -0
  216. package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js +27 -0
  217. package/dist/components/Contractor/Address/shared/useContractorAddressSummary/useContractorAddressSummary.js.map +1 -0
  218. package/dist/components/Contractor/Compensation/management/Compensation.d.ts +30 -0
  219. package/dist/components/Contractor/Compensation/management/Compensation.js +43 -0
  220. package/dist/components/Contractor/Compensation/management/Compensation.js.map +1 -0
  221. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.d.ts +35 -0
  222. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js +57 -0
  223. package/dist/components/Contractor/Compensation/management/CompensationCard/CompensationCard.js.map +1 -0
  224. package/dist/components/Contractor/Compensation/management/CompensationCard/index.d.ts +1 -0
  225. package/dist/components/Contractor/Compensation/management/CompensationComponents.d.ts +12 -0
  226. package/dist/components/Contractor/Compensation/management/CompensationComponents.js +48 -0
  227. package/dist/components/Contractor/Compensation/management/CompensationComponents.js.map +1 -0
  228. package/dist/components/Contractor/Compensation/management/CompensationEditForm.d.ts +29 -0
  229. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js +94 -0
  230. package/dist/components/Contractor/Compensation/management/CompensationEditForm.js.map +1 -0
  231. package/dist/components/Contractor/Compensation/management/CompensationEditForm.module.scss.js +8 -0
  232. package/dist/components/Contractor/Compensation/management/CompensationEditForm.module.scss.js.map +1 -0
  233. package/dist/components/Contractor/Compensation/management/compensationStateMachine.d.ts +5 -0
  234. package/dist/components/Contractor/Compensation/management/compensationStateMachine.js +45 -0
  235. package/dist/components/Contractor/Compensation/management/compensationStateMachine.js.map +1 -0
  236. package/dist/components/Contractor/Compensation/management/index.d.ts +3 -0
  237. package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/index.d.ts +1 -0
  238. package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.d.ts +17 -0
  239. package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js +23 -0
  240. package/dist/components/Contractor/Compensation/shared/useContractorCompensationSummary/useContractorCompensationSummary.js.map +1 -0
  241. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.d.ts +50 -0
  242. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js +32 -0
  243. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/contractorPaySchema.js.map +1 -0
  244. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.d.ts +26 -0
  245. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.js +14 -0
  246. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/fields.js.map +1 -0
  247. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/index.d.ts +4 -0
  248. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.d.ts +111 -0
  249. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js +95 -0
  250. package/dist/components/Contractor/Compensation/shared/useContractorPayForm/useContractorPayForm.js.map +1 -0
  251. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.d.ts +39 -0
  252. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js +100 -0
  253. package/dist/components/Contractor/ContractorList/management/ManagementContractorList.js.map +1 -0
  254. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.d.ts +22 -0
  255. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js +247 -0
  256. package/dist/components/Contractor/ContractorList/management/ManagementContractorListView.js.map +1 -0
  257. package/dist/components/Contractor/ContractorList/{index.d.ts → onboarding/ContractorList.d.ts} +3 -3
  258. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js +71 -0
  259. package/dist/components/Contractor/ContractorList/onboarding/ContractorList.js.map +1 -0
  260. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.d.ts +16 -0
  261. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js +113 -0
  262. package/dist/components/Contractor/ContractorList/onboarding/ContractorListView.js.map +1 -0
  263. package/dist/components/Contractor/ContractorList/shared/index.d.ts +1 -0
  264. package/dist/components/Contractor/ContractorList/shared/useContractorList.d.ts +87 -0
  265. package/dist/components/Contractor/ContractorList/shared/useContractorList.js +110 -0
  266. package/dist/components/Contractor/ContractorList/shared/useContractorList.js.map +1 -0
  267. package/dist/components/Contractor/Dashboard/Dashboard.d.ts +30 -0
  268. package/dist/components/Contractor/Dashboard/Dashboard.js +80 -0
  269. package/dist/components/Contractor/Dashboard/Dashboard.js.map +1 -0
  270. package/dist/components/Contractor/Dashboard/DashboardComponents.d.ts +25 -0
  271. package/dist/components/Contractor/Dashboard/DashboardComponents.js +67 -0
  272. package/dist/components/Contractor/Dashboard/DashboardComponents.js.map +1 -0
  273. package/dist/components/Contractor/Dashboard/DashboardFlow.d.ts +88 -0
  274. package/dist/components/Contractor/Dashboard/DashboardFlow.js +25 -0
  275. package/dist/components/Contractor/Dashboard/DashboardFlow.js.map +1 -0
  276. package/dist/components/Contractor/Dashboard/DetailsView.d.ts +26 -0
  277. package/dist/components/Contractor/Dashboard/DetailsView.js +14 -0
  278. package/dist/components/Contractor/Dashboard/DetailsView.js.map +1 -0
  279. package/dist/components/Contractor/Dashboard/PayView.d.ts +26 -0
  280. package/dist/components/Contractor/Dashboard/PayView.js +14 -0
  281. package/dist/components/Contractor/Dashboard/PayView.js.map +1 -0
  282. package/dist/components/Contractor/Dashboard/dashboardStateMachine.d.ts +8 -0
  283. package/dist/components/Contractor/Dashboard/dashboardStateMachine.js +138 -0
  284. package/dist/components/Contractor/Dashboard/dashboardStateMachine.js.map +1 -0
  285. package/dist/components/Contractor/Dashboard/index.d.ts +4 -0
  286. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.d.ts +36 -0
  287. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js +93 -0
  288. package/dist/components/Contractor/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -0
  289. package/dist/components/Contractor/Documents/management/DocumentsCard/index.d.ts +1 -0
  290. package/dist/components/Contractor/Documents/management/index.d.ts +2 -0
  291. package/dist/components/Contractor/Documents/{DocumentSigner → onboarding/DocumentSigner}/DocumentSigner.d.ts +1 -1
  292. package/dist/components/Contractor/Documents/{DocumentSigner → onboarding/DocumentSigner}/DocumentSigner.js +4 -4
  293. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/DocumentSigner.js.map +1 -0
  294. package/dist/components/Contractor/Documents/{DocumentSigner → onboarding/DocumentSigner}/documentSignerStateMachine.d.ts +2 -2
  295. package/dist/components/Contractor/Documents/{DocumentSigner → onboarding/DocumentSigner}/documentSignerStateMachine.js +3 -3
  296. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/documentSignerStateMachine.js.map +1 -0
  297. package/dist/components/Contractor/Documents/{DocumentSigner → onboarding/DocumentSigner}/stateMachine.d.ts +0 -1
  298. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.js +42 -0
  299. package/dist/components/Contractor/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -0
  300. package/dist/components/Contractor/Documents/{DocumentsList → onboarding/DocumentsList}/DocumentsList.d.ts +1 -1
  301. package/dist/components/Contractor/Documents/onboarding/DocumentsList/DocumentsList.js +81 -0
  302. package/dist/components/Contractor/Documents/onboarding/DocumentsList/DocumentsList.js.map +1 -0
  303. package/dist/components/Contractor/Documents/onboarding/DocumentsList/index.d.ts +1 -0
  304. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/SignatureForm.d.ts +1 -1
  305. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/SignatureForm.js +112 -116
  306. package/dist/components/Contractor/Documents/shared/SignatureForm/SignatureForm.js.map +1 -0
  307. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/contractorSignatureFormSchema.d.ts +2 -2
  308. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/contractorSignatureFormSchema.js +3 -3
  309. package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.js.map +1 -0
  310. package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.test.d.ts +1 -0
  311. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/fields.d.ts +5 -5
  312. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/fields.js +6 -6
  313. package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/fields.js.map +1 -0
  314. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/useContractorSignatureForm.d.ts +2 -2
  315. package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/useContractorSignatureForm.js +8 -8
  316. package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +1 -0
  317. package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/w9Fields.js.map +1 -0
  318. package/dist/components/Contractor/Documents/shared/SignatureForm/useContractorSignatureForm/w9Fields.test.d.ts +1 -0
  319. package/dist/components/Contractor/Documents/shared/documentSigningStatus.d.ts +15 -0
  320. package/dist/components/Contractor/Documents/shared/documentSigningStatus.js +7 -0
  321. package/dist/components/Contractor/Documents/shared/documentSigningStatus.js.map +1 -0
  322. package/dist/components/Contractor/Documents/shared/documentSigningStatus.test.d.ts +1 -0
  323. package/dist/components/Contractor/Documents/shared/useContractorDocumentsList/useContractorDocumentsList.js.map +1 -0
  324. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +1 -1
  325. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js +17 -17
  326. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  327. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js +9 -10
  328. package/dist/components/Contractor/OnboardingSummary/OnboardingSummary.js.map +1 -1
  329. package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.d.ts +32 -0
  330. package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.js +43 -0
  331. package/dist/components/Contractor/PaymentMethod/management/PaymentMethod.js.map +1 -0
  332. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodCard/PaymentMethodCard.d.ts +37 -0
  333. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodCard/PaymentMethodCard.js +133 -0
  334. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodCard/PaymentMethodCard.js.map +1 -0
  335. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodCard/index.d.ts +1 -0
  336. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodComponents.d.ts +12 -0
  337. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodComponents.js +48 -0
  338. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodComponents.js.map +1 -0
  339. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodEditForm.d.ts +30 -0
  340. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodEditForm.js +57 -0
  341. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodEditForm.js.map +1 -0
  342. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodEditForm.module.scss.js +8 -0
  343. package/dist/components/Contractor/PaymentMethod/management/PaymentMethodEditForm.module.scss.js.map +1 -0
  344. package/dist/components/Contractor/PaymentMethod/management/index.d.ts +3 -0
  345. package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.d.ts +5 -0
  346. package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js +61 -0
  347. package/dist/components/Contractor/PaymentMethod/management/paymentMethodStateMachine.js.map +1 -0
  348. package/dist/components/Contractor/PaymentMethod/management/useFormDictionary.d.ts +11 -0
  349. package/dist/components/Contractor/PaymentMethod/management/useFormDictionary.js +33 -0
  350. package/dist/components/Contractor/PaymentMethod/management/useFormDictionary.js.map +1 -0
  351. package/dist/components/Contractor/PaymentMethod/{PaymentMethod.d.ts → onboarding/PaymentMethod.d.ts} +1 -1
  352. package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js +87 -0
  353. package/dist/components/Contractor/PaymentMethod/onboarding/PaymentMethod.js.map +1 -0
  354. package/dist/components/Contractor/PaymentMethod/{types.d.ts → onboarding/types.d.ts} +1 -1
  355. package/dist/components/Contractor/PaymentMethod/onboarding/useFormDictionary.d.ts +12 -0
  356. package/dist/components/Contractor/PaymentMethod/onboarding/useFormDictionary.js +31 -0
  357. package/dist/components/Contractor/PaymentMethod/onboarding/useFormDictionary.js.map +1 -0
  358. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFields/ContractorBankAccountFields.d.ts +29 -0
  359. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFields/ContractorBankAccountFields.js +55 -0
  360. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFields/ContractorBankAccountFields.js.map +1 -0
  361. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFields/index.d.ts +1 -0
  362. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.d.ts +30 -0
  363. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js +46 -0
  364. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/ContractorBankAccountFormBody.js.map +1 -0
  365. package/dist/components/Contractor/PaymentMethod/shared/ContractorBankAccountFormBody/index.d.ts +1 -0
  366. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.d.ts +12 -3
  367. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js +71 -69
  368. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountForm.js.map +1 -1
  369. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodSummary/index.d.ts +1 -0
  370. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodSummary/useContractorPaymentMethodSummary.d.ts +24 -0
  371. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodSummary/useContractorPaymentMethodSummary.js +43 -0
  372. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodSummary/useContractorPaymentMethodSummary.js.map +1 -0
  373. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +129 -225
  374. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  375. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +7 -3
  376. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +58 -137
  377. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  378. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js +2 -3
  379. package/dist/components/Contractor/Payments/CreatePayment/FastAchSubmissionBlockerBanner.js.map +1 -1
  380. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +1 -1
  381. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  382. package/dist/components/Contractor/Payments/CreatePayment/useFormDictionary.d.ts +9 -0
  383. package/dist/components/Contractor/Payments/CreatePayment/useFormDictionary.js +53 -0
  384. package/dist/components/Contractor/Payments/CreatePayment/useFormDictionary.js.map +1 -0
  385. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.d.ts +63 -0
  386. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js +46 -0
  387. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlow.js.map +1 -0
  388. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlowComponents.d.ts +22 -0
  389. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlowComponents.js +26 -0
  390. package/dist/components/Contractor/Payments/CreatePaymentFlow/CreatePaymentFlowComponents.js.map +1 -0
  391. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.d.ts +8 -0
  392. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js +63 -0
  393. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.js.map +1 -0
  394. package/dist/components/Contractor/Payments/CreatePaymentFlow/createPaymentMachine.test.d.ts +1 -0
  395. package/dist/components/Contractor/Payments/CreatePaymentFlow/index.d.ts +2 -0
  396. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.d.ts +33 -0
  397. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.js +62 -0
  398. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/HistoricalPaymentAmounts.js.map +1 -0
  399. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/index.d.ts +1 -0
  400. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.d.ts +9 -0
  401. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.js +53 -0
  402. package/dist/components/Contractor/Payments/HistoricalPaymentAmounts/useFormDictionary.js.map +1 -0
  403. package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.d.ts +27 -0
  404. package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.js +56 -0
  405. package/dist/components/Contractor/Payments/HistoricalPaymentContractors/HistoricalPaymentContractors.js.map +1 -0
  406. package/dist/components/Contractor/Payments/HistoricalPaymentContractors/index.d.ts +1 -0
  407. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +2 -10
  408. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +35 -44
  409. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  410. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +22 -4
  411. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +58 -152
  412. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  413. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.test.d.ts +1 -0
  414. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +1 -1
  415. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  416. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +1 -1
  417. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -1
  418. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js +1 -1
  419. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummaryPresentation.js.map +1 -1
  420. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +2 -3
  421. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  422. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.d.ts +63 -0
  423. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js +46 -0
  424. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlow.js.map +1 -0
  425. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlowComponents.d.ts +20 -0
  426. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlowComponents.js +25 -0
  427. package/dist/components/Contractor/Payments/ViewPaymentFlow/ViewPaymentFlowComponents.js.map +1 -0
  428. package/dist/components/Contractor/Payments/ViewPaymentFlow/index.d.ts +2 -0
  429. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.d.ts +8 -0
  430. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js +51 -0
  431. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.js.map +1 -0
  432. package/dist/components/Contractor/Payments/ViewPaymentFlow/viewPaymentMachine.test.d.ts +1 -0
  433. package/dist/components/Contractor/Payments/{CreatePayment → shared/SetPaymentAmounts}/EditContractorPaymentFormSchema.d.ts +2 -1
  434. package/dist/components/Contractor/Payments/{CreatePayment → shared/SetPaymentAmounts}/EditContractorPaymentFormSchema.js +2 -2
  435. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/EditContractorPaymentFormSchema.js.map +1 -0
  436. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/EditContractorPaymentPresentation.d.ts +44 -0
  437. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/EditContractorPaymentPresentation.js +128 -0
  438. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/EditContractorPaymentPresentation.js.map +1 -0
  439. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/SetPaymentAmounts.d.ts +52 -0
  440. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/SetPaymentAmounts.js +131 -0
  441. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/SetPaymentAmounts.js.map +1 -0
  442. package/dist/components/Contractor/Payments/shared/SetPaymentAmounts/index.d.ts +1 -0
  443. package/dist/components/Contractor/Payments/shared/historicalPaymentDateBounds.d.ts +19 -0
  444. package/dist/components/Contractor/Payments/shared/historicalPaymentDateBounds.js +13 -0
  445. package/dist/components/Contractor/Payments/shared/historicalPaymentDateBounds.js.map +1 -0
  446. package/dist/components/Contractor/Payments/shared/historicalPaymentDateBounds.test.d.ts +1 -0
  447. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.d.ts +32 -0
  448. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js +116 -0
  449. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.js.map +1 -0
  450. package/dist/components/Contractor/Payments/shared/usePaymentAmountsEditor.test.d.ts +1 -0
  451. package/dist/components/Contractor/Profile/management/Profile.d.ts +30 -0
  452. package/dist/components/Contractor/Profile/management/Profile.js +43 -0
  453. package/dist/components/Contractor/Profile/management/Profile.js.map +1 -0
  454. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.d.ts +35 -0
  455. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js +55 -0
  456. package/dist/components/Contractor/Profile/management/ProfileCard/ProfileCard.js.map +1 -0
  457. package/dist/components/Contractor/Profile/management/ProfileCard/index.d.ts +1 -0
  458. package/dist/components/Contractor/Profile/management/ProfileComponents.d.ts +12 -0
  459. package/dist/components/Contractor/Profile/management/ProfileComponents.js +48 -0
  460. package/dist/components/Contractor/Profile/management/ProfileComponents.js.map +1 -0
  461. package/dist/components/Contractor/Profile/management/ProfileEditForm.d.ts +32 -0
  462. package/dist/components/Contractor/Profile/management/ProfileEditForm.js +235 -0
  463. package/dist/components/Contractor/Profile/management/ProfileEditForm.js.map +1 -0
  464. package/dist/components/Contractor/Profile/management/ProfileEditForm.module.scss.js +16 -0
  465. package/dist/components/Contractor/Profile/management/ProfileEditForm.module.scss.js.map +1 -0
  466. package/dist/components/Contractor/Profile/management/index.d.ts +3 -0
  467. package/dist/components/Contractor/Profile/management/profileStateMachine.d.ts +5 -0
  468. package/dist/components/Contractor/Profile/management/profileStateMachine.js +37 -0
  469. package/dist/components/Contractor/Profile/management/profileStateMachine.js.map +1 -0
  470. package/dist/components/Contractor/Profile/{BusinessSelfOnboardingProfile.d.ts → onboarding/BusinessSelfOnboardingProfile.d.ts} +1 -1
  471. package/dist/components/Contractor/Profile/{BusinessSelfOnboardingProfile.js → onboarding/BusinessSelfOnboardingProfile.js} +30 -23
  472. package/dist/components/Contractor/Profile/onboarding/BusinessSelfOnboardingProfile.js.map +1 -0
  473. package/dist/components/Contractor/Profile/{ContractorProfile.d.ts → onboarding/ContractorProfile.d.ts} +2 -2
  474. package/dist/components/Contractor/Profile/{ContractorProfile.js → onboarding/ContractorProfile.js} +82 -63
  475. package/dist/components/Contractor/Profile/onboarding/ContractorProfile.js.map +1 -0
  476. package/dist/components/Contractor/Profile/{IndividualSelfOnboardingProfile.d.ts → onboarding/IndividualSelfOnboardingProfile.d.ts} +1 -1
  477. package/dist/components/Contractor/Profile/{IndividualSelfOnboardingProfile.js → onboarding/IndividualSelfOnboardingProfile.js} +32 -25
  478. package/dist/components/Contractor/Profile/onboarding/IndividualSelfOnboardingProfile.js.map +1 -0
  479. package/dist/components/Contractor/Profile/{SelfOnboardingContractorProfile.d.ts → onboarding/SelfOnboardingContractorProfile.d.ts} +6 -3
  480. package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js +43 -0
  481. package/dist/components/Contractor/Profile/onboarding/SelfOnboardingContractorProfile.js.map +1 -0
  482. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +13 -3
  483. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js +93 -92
  484. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.js.map +1 -1
  485. package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/index.d.ts +1 -0
  486. package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.d.ts +17 -0
  487. package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js +23 -0
  488. package/dist/components/Contractor/Profile/shared/useContractorProfileSummary/useContractorProfileSummary.js.map +1 -0
  489. package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js +12 -12
  490. package/dist/components/Contractor/SelfOnboardingFlow/SelfOnboardingComponents.js.map +1 -1
  491. package/dist/components/Contractor/Submit/Submit.js +3 -4
  492. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  493. package/dist/components/Contractor/exports/contractorManagement.d.ts +16 -0
  494. package/dist/components/Contractor/exports/contractorManagement.js +51 -11
  495. package/dist/components/Contractor/exports/contractorManagement.js.map +1 -1
  496. package/dist/components/Contractor/exports/contractorOnboarding.d.ts +9 -9
  497. package/dist/components/Contractor/exports/contractorOnboarding.js +14 -14
  498. package/dist/components/Contractor/shared/SelectContractors/SelectContractors.d.ts +19 -0
  499. package/dist/components/Contractor/shared/SelectContractors/SelectContractors.js +39 -0
  500. package/dist/components/Contractor/shared/SelectContractors/SelectContractors.js.map +1 -0
  501. package/dist/components/Contractor/shared/SelectContractors/SelectContractorsPresentation.d.ts +3 -0
  502. package/dist/components/Contractor/shared/SelectContractors/SelectContractorsPresentation.js +78 -0
  503. package/dist/components/Contractor/shared/SelectContractors/SelectContractorsPresentation.js.map +1 -0
  504. package/dist/components/Contractor/shared/SelectContractors/SelectContractorsPresentation.module.scss.js +10 -0
  505. package/dist/components/Contractor/shared/SelectContractors/SelectContractorsPresentation.module.scss.js.map +1 -0
  506. package/dist/components/Contractor/shared/SelectContractors/SelectContractorsPresentationTypes.d.ts +18 -0
  507. package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.d.ts +58 -0
  508. package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js +82 -0
  509. package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.js.map +1 -0
  510. package/dist/components/Contractor/shared/SelectContractors/useSelectContractors.test.d.ts +1 -0
  511. package/dist/components/Contractor/{Payments/CreatePayment → shared}/helpers.js +1 -1
  512. package/dist/components/Contractor/shared/helpers.js.map +1 -0
  513. package/dist/components/Contractor/shared/useContractorHasSignedW9.js +1 -1
  514. package/dist/components/Contractor/shared/useContractorHasSignedW9.js.map +1 -1
  515. package/dist/components/Employee/Compensation/management/Compensation.d.ts +1 -1
  516. package/dist/components/Employee/Compensation/management/Compensation.js +30 -23
  517. package/dist/components/Employee/Compensation/management/Compensation.js.map +1 -1
  518. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.d.ts +4 -2
  519. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js +55 -46
  520. package/dist/components/Employee/Compensation/management/CompensationAddAnotherJobForm/CompensationAddAnotherJobForm.js.map +1 -1
  521. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.d.ts +4 -2
  522. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js +37 -21
  523. package/dist/components/Employee/Compensation/management/CompensationAddJobForm/CompensationAddJobForm.js.map +1 -1
  524. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.d.ts +4 -1
  525. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js +122 -102
  526. package/dist/components/Employee/Compensation/management/CompensationCard/CompensationCard.js.map +1 -1
  527. package/dist/components/Employee/Compensation/management/CompensationComponents.js +44 -22
  528. package/dist/components/Employee/Compensation/management/CompensationComponents.js.map +1 -1
  529. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.d.ts +4 -2
  530. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js +29 -26
  531. package/dist/components/Employee/Compensation/management/CompensationEditForm/CompensationEditForm.js.map +1 -1
  532. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.d.ts +4 -2
  533. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js +74 -46
  534. package/dist/components/Employee/Compensation/management/CompensationEditJobForm/CompensationEditJobForm.js.map +1 -1
  535. package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.d.ts +4 -2
  536. package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.js +62 -53
  537. package/dist/components/Employee/Compensation/management/CompensationEditPendingJobForm/CompensationEditPendingJobForm.js.map +1 -1
  538. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js +32 -33
  539. package/dist/components/Employee/Compensation/management/ManagementCompensationFormBody.js.map +1 -1
  540. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.d.ts +4 -2
  541. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js +46 -45
  542. package/dist/components/Employee/Compensation/onboarding/EditCompensation/EditCompensation.js.map +1 -1
  543. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.d.ts +12 -2
  544. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js +32 -35
  545. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.js.map +1 -1
  546. package/dist/components/Employee/Compensation/onboarding/compensationStateMachine.test.d.ts +1 -0
  547. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js +2 -3
  548. package/dist/components/Employee/Compensation/shared/AddCompensationFormBody.js.map +1 -1
  549. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js +20 -20
  550. package/dist/components/Employee/Compensation/shared/useCompensationForm/useCompensationForm.js.map +1 -1
  551. package/dist/components/Employee/Dashboard/Dashboard.d.ts +1 -1
  552. package/dist/components/Employee/Dashboard/Dashboard.js +50 -34
  553. package/dist/components/Employee/Dashboard/Dashboard.js.map +1 -1
  554. package/dist/components/Employee/Deductions/management/Deductions.d.ts +1 -1
  555. package/dist/components/Employee/Deductions/management/Deductions.js +30 -23
  556. package/dist/components/Employee/Deductions/management/Deductions.js.map +1 -1
  557. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.d.ts +4 -1
  558. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js +61 -54
  559. package/dist/components/Employee/Deductions/management/DeductionsCard/DeductionsCard.js.map +1 -1
  560. package/dist/components/Employee/Deductions/management/DeductionsComponents.js +27 -19
  561. package/dist/components/Employee/Deductions/management/DeductionsComponents.js.map +1 -1
  562. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.d.ts +1 -1
  563. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js +40 -33
  564. package/dist/components/Employee/Deductions/management/DeductionsEditForm/DeductionsEditForm.js.map +1 -1
  565. package/dist/components/Employee/Deductions/onboarding/Deductions.d.ts +1 -1
  566. package/dist/components/Employee/Deductions/onboarding/Deductions.js +28 -19
  567. package/dist/components/Employee/Deductions/onboarding/Deductions.js.map +1 -1
  568. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js +39 -38
  569. package/dist/components/Employee/Deductions/onboarding/deductionsContextualComponents.js.map +1 -1
  570. package/dist/components/Employee/Deductions/onboarding/stateMachine.d.ts +12 -2
  571. package/dist/components/Employee/Deductions/onboarding/stateMachine.js +18 -20
  572. package/dist/components/Employee/Deductions/onboarding/stateMachine.js.map +1 -1
  573. package/dist/components/Employee/Deductions/onboarding/stateMachine.test.d.ts +1 -0
  574. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.d.ts +3 -1
  575. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js +17 -17
  576. package/dist/components/Employee/Deductions/shared/DeductionsForm/ChildSupportFormView.js.map +1 -1
  577. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.d.ts +4 -1
  578. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js +48 -44
  579. package/dist/components/Employee/Deductions/shared/DeductionsForm/DeductionsForm.js.map +1 -1
  580. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.d.ts +3 -1
  581. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js +34 -32
  582. package/dist/components/Employee/Deductions/shared/DeductionsForm/StandardDeductionForm.js.map +1 -1
  583. package/dist/components/Employee/Documents/management/DocumentManager.js +6 -7
  584. package/dist/components/Employee/Documents/management/DocumentManager.js.map +1 -1
  585. package/dist/components/Employee/Documents/management/Documents.d.ts +1 -1
  586. package/dist/components/Employee/Documents/management/Documents.js +25 -18
  587. package/dist/components/Employee/Documents/management/Documents.js.map +1 -1
  588. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.d.ts +3 -0
  589. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js +24 -18
  590. package/dist/components/Employee/Documents/management/DocumentsCard/DocumentsCard.js.map +1 -1
  591. package/dist/components/Employee/Documents/management/DocumentsComponents.js +22 -14
  592. package/dist/components/Employee/Documents/management/DocumentsComponents.js.map +1 -1
  593. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js +4 -5
  594. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/Actions.js.map +1 -1
  595. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js +10 -13
  596. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/DocumentList.js.map +1 -1
  597. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js +5 -6
  598. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.js.map +1 -1
  599. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js +8 -0
  600. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/List.module.scss.js.map +1 -0
  601. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  602. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  603. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js +22 -21
  604. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibility.js.map +1 -1
  605. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilityPresentation.js +6 -6
  606. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js +5 -4
  607. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.js.map +1 -1
  608. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js +3 -4
  609. package/dist/components/Employee/Documents/onboarding/DocumentSigner/I9SignatureForm/I9SignatureForm.js.map +1 -1
  610. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.d.ts +12 -2
  611. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js +35 -37
  612. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.js.map +1 -1
  613. package/dist/components/Employee/Documents/onboarding/DocumentSigner/stateMachine.test.d.ts +1 -0
  614. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js +6 -7
  615. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocumentsPresentation.js.map +1 -1
  616. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js +11 -12
  617. package/dist/components/Employee/Documents/shared/SignatureForm/SignatureForm.js.map +1 -1
  618. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.d.ts +3 -2
  619. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js +53 -43
  620. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeList.js.map +1 -1
  621. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js +1 -1
  622. package/dist/components/Employee/EmployeeList/management/ManagementEmployeeListView.js.map +1 -1
  623. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.d.ts +1 -1
  624. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js +56 -40
  625. package/dist/components/Employee/EmployeeList/onboarding/EmployeeList.js.map +1 -1
  626. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.d.ts +1 -1
  627. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js +28 -21
  628. package/dist/components/Employee/FederalTaxes/management/FederalTaxes.js.map +1 -1
  629. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.d.ts +3 -0
  630. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js +31 -25
  631. package/dist/components/Employee/FederalTaxes/management/FederalTaxesCard/FederalTaxesCard.js.map +1 -1
  632. package/dist/components/Employee/FederalTaxes/management/FederalTaxesComponents.js +27 -13
  633. package/dist/components/Employee/FederalTaxes/management/FederalTaxesComponents.js.map +1 -1
  634. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.d.ts +1 -1
  635. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js +53 -40
  636. package/dist/components/Employee/FederalTaxes/management/FederalTaxesEditForm.js.map +1 -1
  637. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.d.ts +1 -1
  638. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js +46 -30
  639. package/dist/components/Employee/FederalTaxes/onboarding/FederalTaxes.js.map +1 -1
  640. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.d.ts +3 -1
  641. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js +15 -14
  642. package/dist/components/Employee/FederalTaxes/shared/FederalTaxesView.js.map +1 -1
  643. package/dist/components/Employee/HomeAddress/management/HomeAddress.d.ts +1 -1
  644. package/dist/components/Employee/HomeAddress/management/HomeAddress.js +27 -20
  645. package/dist/components/Employee/HomeAddress/management/HomeAddress.js.map +1 -1
  646. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.d.ts +3 -0
  647. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js +28 -22
  648. package/dist/components/Employee/HomeAddress/management/HomeAddressCard/HomeAddressCard.js.map +1 -1
  649. package/dist/components/Employee/HomeAddress/management/HomeAddressComponents.js +26 -12
  650. package/dist/components/Employee/HomeAddress/management/HomeAddressComponents.js.map +1 -1
  651. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.d.ts +1 -1
  652. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js +39 -22
  653. package/dist/components/Employee/HomeAddress/management/HomeAddressEditForm.js.map +1 -1
  654. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +4 -4
  655. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.d.ts +1 -1
  656. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js +37 -29
  657. package/dist/components/Employee/PaymentMethod/management/PaymentMethod.js.map +1 -1
  658. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js +29 -23
  659. package/dist/components/Employee/PaymentMethod/management/PaymentMethodBankForm.js.map +1 -1
  660. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.d.ts +4 -1
  661. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js +81 -68
  662. package/dist/components/Employee/PaymentMethod/management/PaymentMethodCard.js.map +1 -1
  663. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js +28 -21
  664. package/dist/components/Employee/PaymentMethod/management/PaymentMethodComponents.js.map +1 -1
  665. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js +26 -20
  666. package/dist/components/Employee/PaymentMethod/onboarding/BankForm.js.map +1 -1
  667. package/dist/components/Employee/PaymentMethod/onboarding/ListView.d.ts +3 -1
  668. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js +134 -98
  669. package/dist/components/Employee/PaymentMethod/onboarding/ListView.js.map +1 -1
  670. package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js +8 -0
  671. package/dist/components/Employee/PaymentMethod/onboarding/ListView.module.scss.js.map +1 -0
  672. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.d.ts +1 -1
  673. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js +54 -27
  674. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethod.js.map +1 -1
  675. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.js +17 -9
  676. package/dist/components/Employee/PaymentMethod/onboarding/PaymentMethodComponents.js.map +1 -1
  677. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.d.ts +4 -2
  678. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js +28 -21
  679. package/dist/components/Employee/PaymentMethod/shared/BankFormBody/BankFormBody.js.map +1 -1
  680. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.d.ts +3 -1
  681. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js +105 -82
  682. package/dist/components/Employee/PaymentMethod/shared/SplitPaymentsFormBody/SplitPaymentsFormBody.js.map +1 -1
  683. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.d.ts +4 -1
  684. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js +68 -65
  685. package/dist/components/Employee/Paystubs/management/PaystubsCard/PaystubsCard.js.map +1 -1
  686. package/dist/components/Employee/Profile/management/Profile.d.ts +1 -1
  687. package/dist/components/Employee/Profile/management/Profile.js +31 -24
  688. package/dist/components/Employee/Profile/management/Profile.js.map +1 -1
  689. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.d.ts +4 -1
  690. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js +25 -26
  691. package/dist/components/Employee/Profile/management/ProfileCard/ProfileCard.js.map +1 -1
  692. package/dist/components/Employee/Profile/management/ProfileComponents.js +27 -13
  693. package/dist/components/Employee/Profile/management/ProfileComponents.js.map +1 -1
  694. package/dist/components/Employee/Profile/management/ProfileEditForm.d.ts +1 -1
  695. package/dist/components/Employee/Profile/management/ProfileEditForm.js +62 -44
  696. package/dist/components/Employee/Profile/management/ProfileEditForm.js.map +1 -1
  697. package/dist/components/Employee/Profile/onboarding/AdminProfile.d.ts +1 -1
  698. package/dist/components/Employee/Profile/onboarding/AdminProfile.js +104 -101
  699. package/dist/components/Employee/Profile/onboarding/AdminProfile.js.map +1 -1
  700. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.d.ts +1 -1
  701. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js +45 -44
  702. package/dist/components/Employee/Profile/onboarding/EmployeeProfile.js.map +1 -1
  703. package/dist/components/Employee/Profile/onboarding/Profile.d.ts +1 -1
  704. package/dist/components/Employee/Profile/onboarding/Profile.js +37 -15
  705. package/dist/components/Employee/Profile/onboarding/Profile.js.map +1 -1
  706. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js +18 -15
  707. package/dist/components/Employee/Profile/shared/useWorkAddressForm/useWorkAddressForm.js.map +1 -1
  708. package/dist/components/Employee/StateTaxes/management/StateTaxes.d.ts +1 -1
  709. package/dist/components/Employee/StateTaxes/management/StateTaxes.js +29 -22
  710. package/dist/components/Employee/StateTaxes/management/StateTaxes.js.map +1 -1
  711. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.d.ts +4 -1
  712. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js +33 -27
  713. package/dist/components/Employee/StateTaxes/management/StateTaxesCard/StateTaxesCard.js.map +1 -1
  714. package/dist/components/Employee/StateTaxes/management/StateTaxesComponents.js +33 -19
  715. package/dist/components/Employee/StateTaxes/management/StateTaxesComponents.js.map +1 -1
  716. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.d.ts +1 -1
  717. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js +46 -33
  718. package/dist/components/Employee/StateTaxes/management/StateTaxesEditForm.js.map +1 -1
  719. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.d.ts +1 -1
  720. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js +47 -31
  721. package/dist/components/Employee/StateTaxes/onboarding/StateTaxes.js.map +1 -1
  722. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.d.ts +3 -1
  723. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js +19 -18
  724. package/dist/components/Employee/StateTaxes/shared/EmployeeStateTaxesView.js.map +1 -1
  725. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js +44 -45
  726. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/useEmployeeStateTaxesForm.js.map +1 -1
  727. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js +23 -22
  728. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployee.js.map +1 -1
  729. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js +27 -27
  730. package/dist/components/Employee/Terminations/TerminateEmployee/TerminateEmployeePresentation.js.map +1 -1
  731. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js +9 -10
  732. package/dist/components/Employee/Terminations/TerminationFlow/TerminationFlowComponents.js.map +1 -1
  733. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js +2 -3
  734. package/dist/components/Employee/Terminations/TerminationSummary/TerminationSummaryPresentation.js.map +1 -1
  735. package/dist/components/Employee/WorkAddress/management/WorkAddress.d.ts +1 -1
  736. package/dist/components/Employee/WorkAddress/management/WorkAddress.js +27 -20
  737. package/dist/components/Employee/WorkAddress/management/WorkAddress.js.map +1 -1
  738. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.d.ts +3 -0
  739. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js +30 -24
  740. package/dist/components/Employee/WorkAddress/management/WorkAddressCard/WorkAddressCard.js.map +1 -1
  741. package/dist/components/Employee/WorkAddress/management/WorkAddressComponents.js +26 -12
  742. package/dist/components/Employee/WorkAddress/management/WorkAddressComponents.js.map +1 -1
  743. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.d.ts +1 -1
  744. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js +40 -23
  745. package/dist/components/Employee/WorkAddress/management/WorkAddressEditForm.js.map +1 -1
  746. package/dist/components/Flow/Flow.js +1 -1
  747. package/dist/components/Flow/FlowHeader.js +3 -4
  748. package/dist/components/Flow/FlowHeader.js.map +1 -1
  749. package/dist/components/Flow/useFlow.d.ts +7 -1
  750. package/dist/components/Flow/useFlow.js.map +1 -1
  751. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +125 -102
  752. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  753. package/dist/components/InformationRequests/InformationRequestForm/index.d.ts +1 -1
  754. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js +7 -8
  755. package/dist/components/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -1
  756. package/dist/components/InformationRequests/InformationRequests.d.ts +1 -1
  757. package/dist/components/InformationRequests/InformationRequests.js +52 -50
  758. package/dist/components/InformationRequests/InformationRequests.js.map +1 -1
  759. package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +3 -0
  760. package/dist/components/InformationRequests/InformationRequestsComponents.js +12 -10
  761. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
  762. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +37 -37
  763. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  764. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js +8 -9
  765. package/dist/components/Payroll/Dismissal/DismissalPayPeriodSelection/DismissalPayPeriodSelectionPresentation.js.map +1 -1
  766. package/dist/components/Payroll/GrossUpModal/GrossUpModal.js +5 -5
  767. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js +10 -12
  768. package/dist/components/Payroll/OffCyclePayPeriodDateForm/OffCyclePayPeriodDateFormPresentation.js.map +1 -1
  769. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js +0 -1
  770. package/dist/components/Payroll/OffCycleReasonSelection/OffCycleReasonSelectionPresentation.js.map +1 -1
  771. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js +7 -8
  772. package/dist/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts.js.map +1 -1
  773. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +94 -92
  774. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  775. package/dist/components/Payroll/PayrollHistory/PayrollHistory.d.ts +3 -3
  776. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +54 -50
  777. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  778. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +80 -69
  779. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  780. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +15 -15
  781. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  782. package/dist/components/Payroll/PayrollList/PayrollList.js +20 -18
  783. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  784. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +138 -136
  785. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  786. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +10 -12
  787. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
  788. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +103 -97
  789. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  790. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +4 -4
  791. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +2 -3
  792. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -1
  793. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.d.ts +1 -1
  794. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +1 -9
  795. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
  796. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +2 -3
  797. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -1
  798. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +1 -2
  799. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -1
  800. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js +2 -3
  801. package/dist/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.js.map +1 -1
  802. package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
  803. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  804. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js +2 -3
  805. package/dist/components/TimeOff/HolidayPolicyDetail/HolidayPolicyDetailPresentation.js.map +1 -1
  806. package/dist/components/TimeOff/PolicyList/PolicyList.d.ts +1 -1
  807. package/dist/components/TimeOff/PolicyList/PolicyList.js +71 -70
  808. package/dist/components/TimeOff/PolicyList/PolicyList.js.map +1 -1
  809. package/dist/components/TimeOff/PolicySettings/PolicySettingsPresentation.js +4 -4
  810. package/dist/components/TimeOff/PolicyTypeSelector/PolicyTypeSelectorPresentation.js +4 -4
  811. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js +34 -36
  812. package/dist/components/TimeOff/TimeOffFlow/TimeOffFlowComponents.js.map +1 -1
  813. package/dist/components/TimeOff/TimeOffManagement/PolicyConfigurationForm/PolicyConfigurationFormPresentation.js +4 -4
  814. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js +24 -25
  815. package/dist/components/TimeOff/shared/PolicyDetailLayout/PolicyDetailLayout.js.map +1 -1
  816. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +6 -0
  817. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +29 -28
  818. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  819. package/dist/contexts/LocaleProvider/useLocale.d.ts +1 -9
  820. package/dist/contexts/LocaleProvider/useLocale.js +5 -15
  821. package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
  822. package/dist/contexts/NonceProvider/index.d.ts +1 -0
  823. package/dist/contexts/NonceProvider/useNonce.d.ts +37 -0
  824. package/dist/contexts/NonceProvider/useNonce.js +7 -0
  825. package/dist/contexts/NonceProvider/useNonce.js.map +1 -0
  826. package/dist/contexts/ThemeProvider/ThemeProvider.js +25 -24
  827. package/dist/contexts/ThemeProvider/ThemeProvider.js.map +1 -1
  828. package/dist/contexts/index.d.ts +1 -0
  829. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.d.ts +12 -7
  830. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js +25 -21
  831. package/dist/hooks/useDateRangeFilter/useDateRangeFilter.js.map +1 -1
  832. package/dist/i18n/I18n.js +16 -5
  833. package/dist/i18n/I18n.js.map +1 -1
  834. package/dist/i18n/en/Company.StateTaxes.json.js +6 -4
  835. package/dist/i18n/en/Company.StateTaxes.json.js.map +1 -1
  836. package/dist/i18n/en/Contractor.BankAccountFields.json.js +26 -0
  837. package/dist/i18n/en/Contractor.BankAccountFields.json.js.map +1 -0
  838. package/dist/i18n/en/Contractor.ContractorList.json.js +14 -12
  839. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  840. package/dist/i18n/en/Contractor.Dashboard.json.js +14 -0
  841. package/dist/i18n/en/Contractor.Dashboard.json.js.map +1 -0
  842. package/dist/i18n/en/Contractor.Management.Address.json.js +16 -0
  843. package/dist/i18n/en/Contractor.Management.Address.json.js.map +1 -0
  844. package/dist/i18n/en/Contractor.Management.Compensation.json.js +26 -0
  845. package/dist/i18n/en/Contractor.Management.Compensation.json.js.map +1 -0
  846. package/dist/i18n/en/Contractor.Management.Documents.json.js +24 -0
  847. package/dist/i18n/en/Contractor.Management.Documents.json.js.map +1 -0
  848. package/dist/i18n/en/Contractor.Management.PaymentMethod.json.js +34 -0
  849. package/dist/i18n/en/Contractor.Management.PaymentMethod.json.js.map +1 -0
  850. package/dist/i18n/en/Contractor.Management.Profile.json.js +26 -0
  851. package/dist/i18n/en/Contractor.Management.Profile.json.js.map +1 -0
  852. package/dist/i18n/en/Contractor.ManagementContractorList.json.js +60 -0
  853. package/dist/i18n/en/Contractor.ManagementContractorList.json.js.map +1 -0
  854. package/dist/i18n/en/Contractor.Payments.HistoricalPaymentAmounts.json.js +36 -0
  855. package/dist/i18n/en/Contractor.Payments.HistoricalPaymentAmounts.json.js.map +1 -0
  856. package/dist/i18n/en/Contractor.Payments.HistoricalPaymentContractors.json.js +18 -0
  857. package/dist/i18n/en/Contractor.Payments.HistoricalPaymentContractors.json.js.map +1 -0
  858. package/dist/i18n/en/Contractor.SelectContractors.json.js +20 -0
  859. package/dist/i18n/en/Contractor.SelectContractors.json.js.map +1 -0
  860. package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
  861. package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js +18 -16
  862. package/dist/i18n/en/Employee.Management.PaymentMethodBankForm.json.js.map +1 -1
  863. package/dist/i18n/en/Employee.Management.PaymentMethodSplitForm.json.js +2 -2
  864. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js +18 -20
  865. package/dist/i18n/en/Employee.ManagementEmployeeList.json.js.map +1 -1
  866. package/dist/i18n/en/Employee.PaymentMethod.json.js +74 -72
  867. package/dist/i18n/en/Employee.PaymentMethod.json.js.map +1 -1
  868. package/dist/i18n/en/Employee.SplitPaymentsFormBody.json.js +2 -2
  869. package/dist/i18n/en/Payroll.Common.json.js +1 -1
  870. package/dist/i18n/en/Payroll.PayrollHistory.json.js +8 -8
  871. package/dist/i18n/en/Payroll.PayrollList.json.js +23 -23
  872. package/dist/i18n/types.d.ts +669 -21
  873. package/dist/index.d.ts +7 -5
  874. package/dist/index.js +95 -88
  875. package/dist/index.js.map +1 -1
  876. package/dist/models/external.d.ts +4 -0
  877. package/dist/partner-hook-utils/form/SDKFormProvider.js +39 -24
  878. package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
  879. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js +12 -15
  880. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  881. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js +16 -19
  882. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  883. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js +13 -16
  884. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  885. package/dist/partner-hook-utils/form/fields/SelectHookField.js +12 -15
  886. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  887. package/dist/partner-hook-utils/form/fields/SwitchHookField.js +18 -21
  888. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  889. package/dist/partner-hook-utils/form/fields/TextInputHookField.js +9 -12
  890. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  891. package/dist/partner-hook-utils/form/preprocessors.d.ts +2 -2
  892. package/dist/partner-hook-utils/form/preprocessors.js +8 -7
  893. package/dist/partner-hook-utils/form/preprocessors.js.map +1 -1
  894. package/dist/partner-hook-utils/form/preprocessors.test.d.ts +1 -0
  895. package/dist/shared/constants.d.ts +72 -0
  896. package/dist/shared/constants.js +106 -73
  897. package/dist/shared/constants.js.map +1 -1
  898. package/dist/style.css +1 -1
  899. package/docs/guides/endpoint-inventory.json +237 -4
  900. package/package.json +35 -31
  901. package/dist/components/Company/StateTaxes/StateTaxesForm/applicableIf.js.map +0 -1
  902. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.d.ts +0 -4
  903. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js +0 -5
  904. package/dist/components/Company/StateTaxes/StateTaxesForm/rhfKey.js.map +0 -1
  905. package/dist/components/Contractor/Address/Address.js +0 -99
  906. package/dist/components/Contractor/Address/Address.js.map +0 -1
  907. package/dist/components/Contractor/Address/index.d.ts +0 -2
  908. package/dist/components/Contractor/ContractorList/index.js +0 -141
  909. package/dist/components/Contractor/ContractorList/index.js.map +0 -1
  910. package/dist/components/Contractor/ContractorList/useContractorList.d.ts +0 -18
  911. package/dist/components/Contractor/ContractorList/useContractorList.js +0 -15
  912. package/dist/components/Contractor/ContractorList/useContractorList.js.map +0 -1
  913. package/dist/components/Contractor/Documents/DocumentSigner/DocumentSigner.js.map +0 -1
  914. package/dist/components/Contractor/Documents/DocumentSigner/documentSignerStateMachine.js.map +0 -1
  915. package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js +0 -44
  916. package/dist/components/Contractor/Documents/DocumentSigner/stateMachine.js.map +0 -1
  917. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js +0 -84
  918. package/dist/components/Contractor/Documents/DocumentsList/DocumentsList.js.map +0 -1
  919. package/dist/components/Contractor/Documents/DocumentsList/index.d.ts +0 -2
  920. package/dist/components/Contractor/Documents/DocumentsList/useContractorDocumentsList/useContractorDocumentsList.js.map +0 -1
  921. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +0 -1
  922. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.js.map +0 -1
  923. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/fields.js.map +0 -1
  924. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.js.map +0 -1
  925. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.js.map +0 -1
  926. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js +0 -115
  927. package/dist/components/Contractor/PaymentMethod/PaymentMethod.js.map +0 -1
  928. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentFormSchema.js.map +0 -1
  929. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +0 -12
  930. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +0 -123
  931. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +0 -1
  932. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +0 -1
  933. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +0 -1
  934. package/dist/components/Contractor/Profile/ContractorProfile.js.map +0 -1
  935. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +0 -1
  936. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js +0 -40
  937. package/dist/components/Contractor/Profile/SelfOnboardingContractorProfile.js.map +0 -1
  938. package/dist/components/Contractor/Profile/index.d.ts +0 -1
  939. /package/dist/components/Company/StateTaxes/{StateTaxesForm/applicableIf.test.d.ts → TaxRateManagement/toHistoryRows.test.d.ts} +0 -0
  940. /package/dist/components/Company/StateTaxes/{StateTaxesForm → shared}/applicableIf.js +0 -0
  941. /package/dist/components/{Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.test.d.ts → Company/StateTaxes/shared/applicableIf.test.d.ts} +0 -0
  942. /package/dist/components/{Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.test.d.ts → Company/StateTaxes/shared/rhfKey.test.d.ts} +0 -0
  943. /package/dist/components/Contractor/Address/{Address.module.scss.js → onboarding/Address.module.scss.js} +0 -0
  944. /package/dist/components/Contractor/Address/{Address.module.scss.js.map → onboarding/Address.module.scss.js.map} +0 -0
  945. /package/dist/components/Contractor/Documents/{DocumentSigner → onboarding/DocumentSigner}/index.d.ts +0 -0
  946. /package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/SignatureForm.module.scss.js +0 -0
  947. /package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/SignatureForm.module.scss.js.map +0 -0
  948. /package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/index.d.ts +0 -0
  949. /package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/index.d.ts +0 -0
  950. /package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/w9Fields.d.ts +0 -0
  951. /package/dist/components/Contractor/Documents/{SignatureForm → shared/SignatureForm}/useContractorSignatureForm/w9Fields.js +0 -0
  952. /package/dist/components/Contractor/Documents/{DocumentsList → shared}/useContractorDocumentsList/index.d.ts +0 -0
  953. /package/dist/components/Contractor/Documents/{DocumentsList → shared}/useContractorDocumentsList/useContractorDocumentsList.d.ts +0 -0
  954. /package/dist/components/Contractor/Documents/{DocumentsList → shared}/useContractorDocumentsList/useContractorDocumentsList.js +0 -0
  955. /package/dist/components/Contractor/PaymentMethod/{PaymentMethod.module.scss.js → onboarding/PaymentMethod.module.scss.js} +0 -0
  956. /package/dist/components/Contractor/PaymentMethod/{PaymentMethod.module.scss.js.map → onboarding/PaymentMethod.module.scss.js.map} +0 -0
  957. /package/dist/components/Contractor/Profile/{ContractorProfile.module.scss.js → onboarding/ContractorProfile.module.scss.js} +0 -0
  958. /package/dist/components/Contractor/Profile/{ContractorProfile.module.scss.js.map → onboarding/ContractorProfile.module.scss.js.map} +0 -0
  959. /package/dist/components/Contractor/{Payments/CreatePayment → shared}/helpers.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"PayrollOverview.js","sources":["../../../../src/components/Payroll/PayrollOverview/PayrollOverview.tsx"],"sourcesContent":["import { usePayrollsSubmitMutation } from '@gusto/embedded-api/react-query/payrollsSubmit'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { usePayrollsGet } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useBankAccountsGetSuspense } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport { useWireInRequestsGet } from '@gusto/embedded-api/react-query/wireInRequestsGet'\nimport { useEffect, useState } from 'react'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { payrollsGetPayStub } from '@gusto/embedded-api/funcs/payrollsGetPayStub'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport type { PayrollSubmissionBlockerType } from '@gusto/embedded-api/models/components/payrollsubmissionblockertype'\nimport type {\n PayrollCreditBlockerType,\n PayrollCreditBlockerTypeUnblockOptions,\n} from '@gusto/embedded-api/models/components/payrollcreditblockertype'\nimport type { PayrollFlowAlert } from '../PayrollFlow/PayrollFlowComponents'\nimport {\n ConfirmWireDetails,\n type ConfirmWireDetailsComponentType,\n} from '../ConfirmWireDetails/ConfirmWireDetails'\nimport { canCancelPayroll } from '../helpers'\nimport { PayrollOverviewPresentation } from './PayrollOverviewPresentation'\nimport { PayrollOverviewStatus } from './PayrollOverviewTypes'\nimport { useCompanyPaymentSpeed } from '@/hooks/useCompanyPaymentSpeed'\nimport {\n componentEvents,\n payrollWireEvents,\n PAYROLL_PROCESSING_STATUS,\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES,\n type EventType,\n} from '@/shared/constants'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { readableStreamToBlob } from '@/helpers/readableStreamToBlob'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { renderErrorList } from '@/helpers/apiErrorToList'\nimport { Flex, PayrollLoading } from '@/components/Common'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\n\n/**\n * Props for {@link PayrollOverview}.\n *\n * @public\n */\nexport interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.PayrollOverview'> {\n /** Identifier of the company that owns the payroll. */\n companyId: string\n /** Identifier of the payroll being reviewed. The payroll must already be calculated. */\n payrollId: string\n /** Alert banners to display above the payroll summary. */\n alerts?: PayrollFlowAlert[]\n /** Whether reimbursement fields are shown in the totals and per-employee tables. Defaults to `true`. */\n withReimbursements?: boolean\n /** Custom component to replace the default wire details confirmation UI. */\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n}\n\nconst findUnresolvedBlockersWithOptions = (\n blockers: PayrollSubmissionBlockerType[] = [],\n): PayrollSubmissionBlockerType[] => {\n return blockers.filter(\n blocker =>\n blocker.status === 'unresolved' &&\n blocker.unblockOptions &&\n blocker.unblockOptions.length > 0,\n )\n}\n\nconst findWireInRequestUuid = (\n creditBlockers: PayrollCreditBlockerType[] = [],\n): string | undefined => {\n const unresolvedCreditBlocker = creditBlockers.find(blocker => blocker.status === 'unresolved')\n\n if (!unresolvedCreditBlocker?.unblockOptions) {\n return undefined\n }\n\n const wireUnblockOption = unresolvedCreditBlocker.unblockOptions.find(\n (option: PayrollCreditBlockerTypeUnblockOptions) => option.unblockType === 'submit_wire',\n )\n\n return wireUnblockOption?.metadata.wireInRequestUuid\n}\n\n/**\n * Final review screen for a calculated payroll before submission, with submit, cancel,\n * and edit controls. After submission, tracks processing status and surfaces the receipt\n * and per-employee paystub downloads once complete.\n *\n * @remarks\n * The payroll referenced by `payrollId` must already be calculated; rendering with an\n * uncalculated payroll throws. Unresolved submission blockers (e.g. fast-ACH threshold,\n * wire-in funding) are surfaced inline and the submit action stays disabled until each\n * blocker has a selected unblock option. While the payroll is processing, the component\n * polls until success or failure and emits the corresponding event.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/edit` | User chose to edit the payroll before submitting | — |\n * | `runPayroll/submitting` | Submit request was sent to the API | — |\n * | `runPayroll/submitted` | Payroll was successfully submitted | Submit payroll response |\n * | `runPayroll/processed` | Payroll finished processing successfully | `{ payPeriod, payrollUuid }` |\n * | `runPayroll/processingFailed` | Payroll processing failed | — |\n * | `runPayroll/cancelled` | Payroll was cancelled | Cancel payroll response |\n * | `runPayroll/receipt/get` | User requested the payroll receipt | `{ payrollId }` |\n * | `runPayroll/pdfPaystub/viewed` | User opened an employee's paystub PDF | `{ employeeId }` |\n * | `payroll/wire/form/done` | Wire-in details were confirmed via the embedded wire form | Submit wire-in response |\n *\n * @param props - See {@link PayrollOverviewProps}.\n * @returns The payroll overview surface.\n * @public\n */\nexport function PayrollOverview(props: PayrollOverviewProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n companyId,\n payrollId,\n dictionary,\n onEvent,\n alerts,\n withReimbursements = true,\n ConfirmWireDetailsComponent = ConfirmWireDetails,\n}: PayrollOverviewProps) => {\n useComponentDictionary('Payroll.PayrollOverview', dictionary)\n useI18n('Payroll.PayrollOverview')\n const { baseSubmitHandler } = useBase()\n const { t } = useTranslation('Payroll.PayrollOverview')\n const [isPolling, setIsPolling] = useState(false)\n const [hasSubmittedInSession, setHasSubmittedInSession] = useState(false)\n const [internalAlerts, setInternalAlerts] = useState(alerts || [])\n const [selectedUnblockOptions, setSelectedUnblockOptions] = useState<Record<string, string>>({})\n const [showWireDetailsConfirmation, setShowWireDetailsConfirmation] = useState(false)\n const { showBoundary } = useErrorBoundary()\n const formatCurrency = useNumberFormatter('currency')\n const dateFormatter = useDateFormatter()\n const { Button, UnorderedList, Text } = useComponentContext()\n const [status, setStatus] = useState(PayrollOverviewStatus.Viewing)\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination({\n defaultItemsPerPage: 10,\n })\n const { data, isFetching } = usePayrollsGet(\n {\n companyId,\n payrollId: payrollId,\n include: ['taxes', 'benefits', 'deductions', 'totals', 'payroll_taxes'],\n page: currentPage,\n per: itemsPerPage,\n },\n {\n refetchInterval: isPolling ? 5_000 : false,\n placeholderData: keepPreviousData,\n },\n )\n const payrollData = data?.payrollShow\n const submissionBlockers = findUnresolvedBlockersWithOptions(payrollData?.submissionBlockers)\n const wireInId = findWireInRequestUuid(payrollData?.creditBlockers)\n\n const { data: wireInRequestData } = useWireInRequestsGet(\n {\n wireInRequestUuid: wireInId || '',\n },\n { enabled: !!wireInId },\n )\n const wireInRequest = wireInRequestData?.wireInRequest\n\n const onEdit = () => {\n onEvent(componentEvents.RUN_PAYROLL_EDIT)\n }\n\n const handleWireEvent = (type: EventType, data?: unknown) => {\n if (type === payrollWireEvents.PAYROLL_WIRE_FORM_DONE) {\n setShowWireDetailsConfirmation(true)\n }\n onEvent(type, data)\n }\n\n const wireInConfirmationRequest = wireInId && (\n <ConfirmWireDetailsComponent\n companyId={companyId}\n wireInId={wireInId}\n onEvent={handleWireEvent}\n />\n )\n\n useEffect(() => {\n if (wireInRequest?.status === 'pending_review' && !showWireDetailsConfirmation) {\n setShowWireDetailsConfirmation(true)\n }\n }, [wireInRequest?.status, showWireDetailsConfirmation])\n\n const checkDate = payrollData?.checkDate\n useEffect(() => {\n if (checkDate && showWireDetailsConfirmation) {\n const formattedCheckDate = dateFormatter.formatShortWithYear(checkDate)\n\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.wireDetailsSubmittedTitle'),\n content: (\n <Text>\n {t('alerts.wireDetailsSubmittedMessage', { checkDate: formattedCheckDate })}\n </Text>\n ),\n onDismiss: () => {\n setShowWireDetailsConfirmation(false)\n },\n },\n ])\n }\n }, [showWireDetailsConfirmation, checkDate, t, dateFormatter, Text])\n\n useEffect(() => {\n if (!payrollData) return\n // Start polling when payroll is submitting and not already polling\n if (\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submitting &&\n !isPolling\n ) {\n setIsPolling(true)\n }\n if (\n isPolling &&\n (payrollData.processed === true ||\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success)\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSED, {\n payPeriod: payrollData.payPeriod,\n payrollUuid: payrollId,\n })\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.payrollProcessedTitle'),\n content: t('alerts.payrollProcessedMessage', {\n amount: formatCurrency(Number(payrollData.totals?.companyDebit)),\n date: dateFormatter.formatShortWithYear(\n payrollData.payrollStatusMeta?.expectedDebitTime ?? payrollData.payrollDeadline,\n ),\n }),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n setHasSubmittedInSession(false)\n }\n // If we are polling and payroll is in failed state, stop polling, and emit failure event\n if (\n isPolling &&\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.processing_failed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setInternalAlerts([\n {\n type: 'error',\n title: t('alerts.payrollProcessingFailedTitle'),\n content: (\n <Flex flexDirection=\"column\" gap={16}>\n <UnorderedList items={renderErrorList(payrollData.processingRequest.errors ?? [])} />\n <Button variant=\"secondary\" onClick={onEdit}>\n {t('alerts.payrollProcessingFailedCtaLabel')}\n </Button>\n </Flex>\n ),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n setHasSubmittedInSession(false)\n }\n }, [\n payrollData?.processingRequest?.status,\n payrollData?.processed,\n isPolling,\n onEvent,\n t,\n dateFormatter,\n formatCurrency,\n payrollData?.totals?.companyDebit,\n payrollData?.payrollStatusMeta?.expectedDebitTime,\n payrollData?.payrollDeadline,\n ])\n\n const { data: bankAccountData } = useBankAccountsGetSuspense({\n companyId,\n })\n const bankAccount = bankAccountData.companyBankAccounts?.[0]\n\n const { paymentSpeed } = useCompanyPaymentSpeed(companyId)\n\n const { mutateAsync: submitPayroll, isPending } = usePayrollsSubmitMutation()\n\n const { mutateAsync: cancelPayroll } = usePayrollsCancelMutation()\n\n const gustoEmbedded = useGustoEmbeddedContext()\n\n if (!payrollData) {\n return <PayrollLoading title={t('dataLoadingTitle')} />\n }\n\n if (status === PayrollOverviewStatus.Viewing && !payrollData.calculatedAt) {\n throw new Error(t('alerts.payrollNotCalculated'))\n }\n\n const pagination = getPaginationProps(data.httpMeta.response.headers, isFetching)\n\n // Per-tax totals come from the payroll-level `payrollTaxes` aggregate so they stay\n // correct when `employeeCompensations` is paginated (only a single page is loaded).\n const taxes =\n payrollData.payrollTaxes?.reduce(\n (acc, tax) => {\n if (!tax.name) return acc\n const amount = tax.amount ?? 0\n acc[tax.name] = {\n employee: (acc[tax.name]?.employee ?? 0) + (tax.employer ? 0 : amount),\n employer: (acc[tax.name]?.employer ?? 0) + (tax.employer ? amount : 0),\n }\n return acc\n },\n {} as Record<string, { employee: number; employer: number }>,\n ) || {}\n\n const onCancel = async () => {\n setStatus(PayrollOverviewStatus.Cancelling)\n await baseSubmitHandler(data, async () => {\n try {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n setStatus(PayrollOverviewStatus.Cancelled)\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, result)\n } catch (error) {\n setStatus(PayrollOverviewStatus.Viewing)\n throw error\n }\n })\n }\n const onPayrollReceipt = () => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_GET, { payrollId })\n }\n\n const onPaystubDownload = async (employeeId: string) => {\n // Open a blank window *synchronously* with the click\n const newWindow = window.open('', '_blank')\n\n try {\n // Fetch the PDF from your API\n const response = await payrollsGetPayStub(gustoEmbedded, { payrollId, employeeId })\n if (!response.value?.responseStream) {\n throw new Error(t('alerts.paystubPdfError'))\n }\n const pdfBlob = await readableStreamToBlob(response.value.responseStream, 'application/pdf')\n\n const url = URL.createObjectURL(pdfBlob)\n\n // Load the PDF into the new window\n if (newWindow) {\n newWindow.location.href = url\n }\n onEvent(componentEvents.RUN_PAYROLL_PDF_PAYSTUB_VIEWED, { employeeId })\n URL.revokeObjectURL(url) // Clean up the URL object after use\n } catch (err) {\n if (newWindow) {\n newWindow.close()\n }\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n }\n }\n const onSubmit = async () => {\n await baseSubmitHandler(data, async () => {\n const result = await submitPayroll({\n request: {\n companyId,\n payrollId,\n requestBody: {\n submissionBlockers: Object.entries(selectedUnblockOptions)\n .filter(([blockerType]) =>\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES.includes(blockerType),\n )\n .map(([blockerType, selectedOption]) => ({\n blockerType,\n selectedOption,\n })),\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_SUBMITTING)\n onEvent(componentEvents.RUN_PAYROLL_SUBMITTED, result)\n setIsPolling(true)\n setHasSubmittedInSession(true)\n })\n }\n\n return (\n <PayrollOverviewPresentation\n onEdit={onEdit}\n onSubmit={onSubmit}\n onCancel={onCancel}\n onPayrollReceipt={onPayrollReceipt}\n onPaystubDownload={onPaystubDownload}\n status={isPending || hasSubmittedInSession ? PayrollOverviewStatus.Submitting : status}\n isProcessed={\n payrollData.processed === true ||\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success\n }\n canCancel={canCancelPayroll(payrollData)}\n payrollData={payrollData}\n bankAccount={bankAccount}\n taxes={taxes}\n alerts={internalAlerts}\n submissionBlockers={submissionBlockers}\n selectedUnblockOptions={selectedUnblockOptions}\n onUnblockOptionChange={(blockerType, value) => {\n setSelectedUnblockOptions(prev => ({ ...prev, [blockerType]: value }))\n }}\n wireInConfirmationRequest={wireInConfirmationRequest}\n withReimbursements={withReimbursements}\n paymentSpeed={paymentSpeed}\n pagination={pagination}\n />\n )\n}\n"],"names":["findUnresolvedBlockersWithOptions","blockers","blocker","findWireInRequestUuid","creditBlockers","unresolvedCreditBlocker","option","PayrollOverview","props","jsx","BaseComponent","Root","companyId","payrollId","dictionary","onEvent","alerts","withReimbursements","ConfirmWireDetailsComponent","ConfirmWireDetails","useComponentDictionary","useI18n","baseSubmitHandler","useBase","t","useTranslation","isPolling","setIsPolling","useState","hasSubmittedInSession","setHasSubmittedInSession","internalAlerts","setInternalAlerts","selectedUnblockOptions","setSelectedUnblockOptions","showWireDetailsConfirmation","setShowWireDetailsConfirmation","showBoundary","useErrorBoundary","formatCurrency","useNumberFormatter","dateFormatter","useDateFormatter","Button","UnorderedList","Text","useComponentContext","status","setStatus","PayrollOverviewStatus","currentPage","itemsPerPage","getPaginationProps","usePagination","data","isFetching","usePayrollsGet","keepPreviousData","payrollData","submissionBlockers","wireInId","wireInRequestData","useWireInRequestsGet","wireInRequest","onEdit","componentEvents","wireInConfirmationRequest","type","payrollWireEvents","useEffect","checkDate","formattedCheckDate","PAYROLL_PROCESSING_STATUS","jsxs","Flex","renderErrorList","bankAccountData","useBankAccountsGetSuspense","bankAccount","paymentSpeed","useCompanyPaymentSpeed","submitPayroll","isPending","usePayrollsSubmitMutation","cancelPayroll","usePayrollsCancelMutation","gustoEmbedded","useGustoEmbeddedContext","PayrollLoading","pagination","taxes","acc","tax","amount","PayrollOverviewPresentation","result","blockerType","PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES","selectedOption","error","employeeId","newWindow","response","payrollsGetPayStub","pdfBlob","readableStreamToBlob","url","err","canCancelPayroll","value","prev"],"mappings":"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"}
1
+ {"version":3,"file":"PayrollOverview.js","sources":["../../../../src/components/Payroll/PayrollOverview/PayrollOverview.tsx"],"sourcesContent":["import { usePayrollsSubmitMutation } from '@gusto/embedded-api/react-query/payrollsSubmit'\nimport { usePayrollsCancelMutation } from '@gusto/embedded-api/react-query/payrollsCancel'\nimport { usePayrollsGet } from '@gusto/embedded-api/react-query/payrollsGet'\nimport { keepPreviousData } from '@tanstack/react-query'\nimport { useTranslation } from 'react-i18next'\nimport { useBankAccountsGetSuspense } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport { useWireInRequestsGet } from '@gusto/embedded-api/react-query/wireInRequestsGet'\nimport { useEffect, useState } from 'react'\nimport { useGustoEmbeddedContext } from '@gusto/embedded-api/react-query/_context'\nimport { payrollsGetPayStub } from '@gusto/embedded-api/funcs/payrollsGetPayStub'\nimport { useErrorBoundary } from 'react-error-boundary'\nimport type { PayrollSubmissionBlockerType } from '@gusto/embedded-api/models/components/payrollsubmissionblockertype'\nimport type {\n PayrollCreditBlockerType,\n PayrollCreditBlockerTypeUnblockOptions,\n} from '@gusto/embedded-api/models/components/payrollcreditblockertype'\nimport type { PayrollFlowAlert } from '../PayrollFlow/PayrollFlowComponents'\nimport {\n ConfirmWireDetails,\n type ConfirmWireDetailsComponentType,\n} from '../ConfirmWireDetails/ConfirmWireDetails'\nimport { canCancelPayroll } from '../helpers'\nimport { PayrollOverviewPresentation } from './PayrollOverviewPresentation'\nimport { PayrollOverviewStatus } from './PayrollOverviewTypes'\nimport { useCompanyPaymentSpeed } from '@/hooks/useCompanyPaymentSpeed'\nimport {\n componentEvents,\n payrollWireEvents,\n PAYROLL_PROCESSING_STATUS,\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES,\n type EventType,\n} from '@/shared/constants'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { useComponentDictionary, useI18n } from '@/i18n'\nimport { readableStreamToBlob } from '@/helpers/readableStreamToBlob'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { renderErrorList } from '@/helpers/apiErrorToList'\nimport { Flex, PayrollLoading } from '@/components/Common'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\n\n/**\n * Props for {@link PayrollOverview}.\n *\n * @public\n */\nexport interface PayrollOverviewProps extends BaseComponentInterface<'Payroll.PayrollOverview'> {\n /** Identifier of the company that owns the payroll. */\n companyId: string\n /** Identifier of the payroll being reviewed. The payroll must already be calculated. */\n payrollId: string\n /** Alert banners to display above the payroll summary. */\n alerts?: PayrollFlowAlert[]\n /** Whether reimbursement fields are shown in the totals and per-employee tables. Defaults to `true`. */\n withReimbursements?: boolean\n /** Custom component to replace the default wire details confirmation UI. */\n ConfirmWireDetailsComponent?: ConfirmWireDetailsComponentType\n}\n\nconst findUnresolvedBlockersWithOptions = (\n blockers: PayrollSubmissionBlockerType[] = [],\n): PayrollSubmissionBlockerType[] => {\n return blockers.filter(\n blocker =>\n blocker.status === 'unresolved' &&\n blocker.unblockOptions &&\n blocker.unblockOptions.length > 0,\n )\n}\n\nconst findWireInRequestUuid = (\n creditBlockers: PayrollCreditBlockerType[] = [],\n): string | undefined => {\n const unresolvedCreditBlocker = creditBlockers.find(blocker => blocker.status === 'unresolved')\n\n if (!unresolvedCreditBlocker?.unblockOptions) {\n return undefined\n }\n\n const wireUnblockOption = unresolvedCreditBlocker.unblockOptions.find(\n (option: PayrollCreditBlockerTypeUnblockOptions) => option.unblockType === 'submit_wire',\n )\n\n return wireUnblockOption?.metadata.wireInRequestUuid\n}\n\n/**\n * Final review screen for a calculated payroll before submission, with submit, cancel,\n * and edit controls. After submission, tracks processing status and surfaces the receipt\n * and per-employee paystub downloads once complete.\n *\n * @remarks\n * The payroll referenced by `payrollId` must already be calculated; rendering with an\n * uncalculated payroll throws. Unresolved submission blockers (e.g. fast-ACH threshold,\n * wire-in funding) are surfaced inline and the submit action stays disabled until each\n * blocker has a selected unblock option. While the payroll is processing, the component\n * polls until success or failure and emits the corresponding event.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `runPayroll/edit` | User chose to edit the payroll before submitting | — |\n * | `runPayroll/submitting` | Submit request was sent to the API | — |\n * | `runPayroll/submitted` | Payroll was successfully submitted | Submit payroll response |\n * | `runPayroll/processed` | Payroll finished processing successfully | `{ payPeriod, payrollUuid }` |\n * | `runPayroll/processingFailed` | Payroll processing failed | — |\n * | `runPayroll/cancelled` | Payroll was cancelled | Cancel payroll response |\n * | `runPayroll/receipt/get` | User requested the payroll receipt | `{ payrollId }` |\n * | `runPayroll/pdfPaystub/viewed` | User opened an employee's paystub PDF | `{ employeeId }` |\n * | `payroll/wire/form/done` | Wire-in details were confirmed via the embedded wire form | Submit wire-in response |\n *\n * @param props - See {@link PayrollOverviewProps}.\n * @returns The payroll overview surface.\n * @public\n */\nexport function PayrollOverview(props: PayrollOverviewProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst Root = ({\n companyId,\n payrollId,\n dictionary,\n onEvent,\n alerts,\n withReimbursements = true,\n ConfirmWireDetailsComponent = ConfirmWireDetails,\n}: PayrollOverviewProps) => {\n useComponentDictionary('Payroll.PayrollOverview', dictionary)\n useI18n('Payroll.PayrollOverview')\n const { baseSubmitHandler } = useBase()\n const { t } = useTranslation('Payroll.PayrollOverview')\n const [isPolling, setIsPolling] = useState(false)\n const [hasSubmittedInSession, setHasSubmittedInSession] = useState(false)\n const [internalAlerts, setInternalAlerts] = useState(alerts || [])\n const [selectedUnblockOptions, setSelectedUnblockOptions] = useState<Record<string, string>>({})\n const [showWireDetailsConfirmation, setShowWireDetailsConfirmation] = useState(false)\n const { showBoundary } = useErrorBoundary()\n const formatCurrency = useNumberFormatter('currency')\n const dateFormatter = useDateFormatter()\n const { Button, UnorderedList, Text } = useComponentContext()\n const [status, setStatus] = useState(PayrollOverviewStatus.Viewing)\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination({\n defaultItemsPerPage: 10,\n })\n const { data, isFetching } = usePayrollsGet(\n {\n companyId,\n payrollId: payrollId,\n include: ['taxes', 'benefits', 'deductions', 'totals', 'payroll_taxes'],\n page: currentPage,\n per: itemsPerPage,\n },\n {\n refetchInterval: isPolling ? 5_000 : false,\n placeholderData: keepPreviousData,\n // Always refetch on mount so a partner QueryClient with a non-zero `staleTime`\n // can't serve a stale pre-calculation snapshot without refetching. SDK-1018.\n refetchOnMount: 'always',\n },\n )\n const payrollData = data?.payrollShow\n const submissionBlockers = findUnresolvedBlockersWithOptions(payrollData?.submissionBlockers)\n const wireInId = findWireInRequestUuid(payrollData?.creditBlockers)\n\n const { data: wireInRequestData } = useWireInRequestsGet(\n {\n wireInRequestUuid: wireInId || '',\n },\n { enabled: !!wireInId },\n )\n const wireInRequest = wireInRequestData?.wireInRequest\n\n const onEdit = () => {\n onEvent(componentEvents.RUN_PAYROLL_EDIT)\n }\n\n const handleWireEvent = (type: EventType, data?: unknown) => {\n if (type === payrollWireEvents.PAYROLL_WIRE_FORM_DONE) {\n setShowWireDetailsConfirmation(true)\n }\n onEvent(type, data)\n }\n\n const wireInConfirmationRequest = wireInId && (\n <ConfirmWireDetailsComponent\n companyId={companyId}\n wireInId={wireInId}\n onEvent={handleWireEvent}\n />\n )\n\n useEffect(() => {\n if (wireInRequest?.status === 'pending_review' && !showWireDetailsConfirmation) {\n setShowWireDetailsConfirmation(true)\n }\n }, [wireInRequest?.status, showWireDetailsConfirmation])\n\n const checkDate = payrollData?.checkDate\n useEffect(() => {\n if (checkDate && showWireDetailsConfirmation) {\n const formattedCheckDate = dateFormatter.formatShortWithYear(checkDate)\n\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.wireDetailsSubmittedTitle'),\n content: (\n <Text>\n {t('alerts.wireDetailsSubmittedMessage', { checkDate: formattedCheckDate })}\n </Text>\n ),\n onDismiss: () => {\n setShowWireDetailsConfirmation(false)\n },\n },\n ])\n }\n }, [showWireDetailsConfirmation, checkDate, t, dateFormatter, Text])\n\n useEffect(() => {\n if (!payrollData) return\n // Start polling when payroll is submitting and not already polling\n if (\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submitting &&\n !isPolling\n ) {\n setIsPolling(true)\n }\n if (\n isPolling &&\n (payrollData.processed === true ||\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success)\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSED, {\n payPeriod: payrollData.payPeriod,\n payrollUuid: payrollId,\n })\n setInternalAlerts([\n {\n type: 'success',\n title: t('alerts.payrollProcessedTitle'),\n content: t('alerts.payrollProcessedMessage', {\n amount: formatCurrency(Number(payrollData.totals?.companyDebit)),\n date: dateFormatter.formatShortWithYear(\n payrollData.payrollStatusMeta?.expectedDebitTime ?? payrollData.payrollDeadline,\n ),\n }),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n setHasSubmittedInSession(false)\n }\n // If we are polling and payroll is in failed state, stop polling, and emit failure event\n if (\n isPolling &&\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.processing_failed\n ) {\n onEvent(componentEvents.RUN_PAYROLL_PROCESSING_FAILED)\n setInternalAlerts([\n {\n type: 'error',\n title: t('alerts.payrollProcessingFailedTitle'),\n content: (\n <Flex flexDirection=\"column\" gap={16}>\n <UnorderedList items={renderErrorList(payrollData.processingRequest.errors ?? [])} />\n <Button variant=\"secondary\" onClick={onEdit}>\n {t('alerts.payrollProcessingFailedCtaLabel')}\n </Button>\n </Flex>\n ),\n },\n ])\n setShowWireDetailsConfirmation(false)\n setIsPolling(false)\n setHasSubmittedInSession(false)\n }\n }, [\n payrollData?.processingRequest?.status,\n payrollData?.processed,\n isPolling,\n onEvent,\n t,\n dateFormatter,\n formatCurrency,\n payrollData?.totals?.companyDebit,\n payrollData?.payrollStatusMeta?.expectedDebitTime,\n payrollData?.payrollDeadline,\n ])\n\n const { data: bankAccountData } = useBankAccountsGetSuspense({\n companyId,\n })\n const bankAccount = bankAccountData.companyBankAccounts?.[0]\n\n const { paymentSpeed } = useCompanyPaymentSpeed(companyId)\n\n const { mutateAsync: submitPayroll, isPending } = usePayrollsSubmitMutation()\n\n const { mutateAsync: cancelPayroll } = usePayrollsCancelMutation()\n\n const gustoEmbedded = useGustoEmbeddedContext()\n\n if (!payrollData) {\n return <PayrollLoading title={t('dataLoadingTitle')} />\n }\n\n if (status === PayrollOverviewStatus.Viewing && !payrollData.calculatedAt) {\n // A stale snapshot can be served with a null `calculatedAt` while its refetch is\n // in flight; treat that as loading and only throw once the fetch settles. SDK-1018.\n if (isFetching) {\n return <PayrollLoading title={t('dataLoadingTitle')} />\n }\n throw new Error(t('alerts.payrollNotCalculated'))\n }\n\n const pagination = getPaginationProps(data.httpMeta.response.headers, isFetching)\n\n // Per-tax totals come from the payroll-level `payrollTaxes` aggregate so they stay\n // correct when `employeeCompensations` is paginated (only a single page is loaded).\n const taxes =\n payrollData.payrollTaxes?.reduce(\n (acc, tax) => {\n if (!tax.name) return acc\n const amount = tax.amount ?? 0\n acc[tax.name] = {\n employee: (acc[tax.name]?.employee ?? 0) + (tax.employer ? 0 : amount),\n employer: (acc[tax.name]?.employer ?? 0) + (tax.employer ? amount : 0),\n }\n return acc\n },\n {} as Record<string, { employee: number; employer: number }>,\n ) || {}\n\n const onCancel = async () => {\n setStatus(PayrollOverviewStatus.Cancelling)\n await baseSubmitHandler(data, async () => {\n try {\n const result = await cancelPayroll({\n request: {\n companyId,\n payrollId,\n },\n })\n setStatus(PayrollOverviewStatus.Cancelled)\n onEvent(componentEvents.RUN_PAYROLL_CANCELLED, result)\n } catch (error) {\n setStatus(PayrollOverviewStatus.Viewing)\n throw error\n }\n })\n }\n const onPayrollReceipt = () => {\n onEvent(componentEvents.RUN_PAYROLL_RECEIPT_GET, { payrollId })\n }\n\n const onPaystubDownload = async (employeeId: string) => {\n // Open a blank window *synchronously* with the click\n const newWindow = window.open('', '_blank')\n\n try {\n // Fetch the PDF from your API\n const response = await payrollsGetPayStub(gustoEmbedded, { payrollId, employeeId })\n if (!response.value?.responseStream) {\n throw new Error(t('alerts.paystubPdfError'))\n }\n const pdfBlob = await readableStreamToBlob(response.value.responseStream, 'application/pdf')\n\n const url = URL.createObjectURL(pdfBlob)\n\n // Load the PDF into the new window\n if (newWindow) {\n newWindow.location.href = url\n }\n onEvent(componentEvents.RUN_PAYROLL_PDF_PAYSTUB_VIEWED, { employeeId })\n URL.revokeObjectURL(url) // Clean up the URL object after use\n } catch (err) {\n if (newWindow) {\n newWindow.close()\n }\n showBoundary(err instanceof Error ? err : new Error(String(err)))\n }\n }\n const onSubmit = async () => {\n await baseSubmitHandler(data, async () => {\n const result = await submitPayroll({\n request: {\n companyId,\n payrollId,\n requestBody: {\n submissionBlockers: Object.entries(selectedUnblockOptions)\n .filter(([blockerType]) =>\n PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES.includes(blockerType),\n )\n .map(([blockerType, selectedOption]) => ({\n blockerType,\n selectedOption,\n })),\n },\n },\n })\n onEvent(componentEvents.RUN_PAYROLL_SUBMITTING)\n onEvent(componentEvents.RUN_PAYROLL_SUBMITTED, result)\n setIsPolling(true)\n setHasSubmittedInSession(true)\n })\n }\n\n return (\n <PayrollOverviewPresentation\n onEdit={onEdit}\n onSubmit={onSubmit}\n onCancel={onCancel}\n onPayrollReceipt={onPayrollReceipt}\n onPaystubDownload={onPaystubDownload}\n status={isPending || hasSubmittedInSession ? PayrollOverviewStatus.Submitting : status}\n isProcessed={\n payrollData.processed === true ||\n payrollData.processingRequest?.status === PAYROLL_PROCESSING_STATUS.submit_success\n }\n canCancel={canCancelPayroll(payrollData)}\n payrollData={payrollData}\n bankAccount={bankAccount}\n taxes={taxes}\n alerts={internalAlerts}\n submissionBlockers={submissionBlockers}\n selectedUnblockOptions={selectedUnblockOptions}\n onUnblockOptionChange={(blockerType, value) => {\n setSelectedUnblockOptions(prev => ({ ...prev, [blockerType]: value }))\n }}\n wireInConfirmationRequest={wireInConfirmationRequest}\n withReimbursements={withReimbursements}\n paymentSpeed={paymentSpeed}\n pagination={pagination}\n />\n )\n}\n"],"names":["findUnresolvedBlockersWithOptions","blockers","blocker","findWireInRequestUuid","creditBlockers","unresolvedCreditBlocker","option","PayrollOverview","props","jsx","BaseComponent","Root","companyId","payrollId","dictionary","onEvent","alerts","withReimbursements","ConfirmWireDetailsComponent","ConfirmWireDetails","useComponentDictionary","useI18n","baseSubmitHandler","useBase","t","useTranslation","isPolling","setIsPolling","useState","hasSubmittedInSession","setHasSubmittedInSession","internalAlerts","setInternalAlerts","selectedUnblockOptions","setSelectedUnblockOptions","showWireDetailsConfirmation","setShowWireDetailsConfirmation","showBoundary","useErrorBoundary","formatCurrency","useNumberFormatter","dateFormatter","useDateFormatter","Button","UnorderedList","Text","useComponentContext","status","setStatus","PayrollOverviewStatus","currentPage","itemsPerPage","getPaginationProps","usePagination","data","isFetching","usePayrollsGet","keepPreviousData","payrollData","submissionBlockers","wireInId","wireInRequestData","useWireInRequestsGet","wireInRequest","onEdit","componentEvents","wireInConfirmationRequest","type","payrollWireEvents","useEffect","checkDate","formattedCheckDate","PAYROLL_PROCESSING_STATUS","jsxs","Flex","renderErrorList","bankAccountData","useBankAccountsGetSuspense","bankAccount","paymentSpeed","useCompanyPaymentSpeed","submitPayroll","isPending","usePayrollsSubmitMutation","cancelPayroll","usePayrollsCancelMutation","gustoEmbedded","useGustoEmbeddedContext","PayrollLoading","pagination","taxes","acc","tax","amount","PayrollOverviewPresentation","result","blockerType","PAYROLL_RESOLVABLE_SUBMISSION_BLOCKER_TYPES","selectedOption","error","employeeId","newWindow","response","payrollsGetPayStub","pdfBlob","readableStreamToBlob","url","err","canCancelPayroll","value","prev"],"mappings":"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"}
@@ -6,8 +6,8 @@ import { PayrollOverviewStatus as p } from "./PayrollOverviewTypes.js";
6
6
  import ne from "./PayrollOverviewPresentation.module.scss.js";
7
7
  import { Flex as s } from "../../Common/Flex/Flex.js";
8
8
  import { Grid as we } from "../../Common/Grid/Grid.js";
9
- import { useComponentContext as _e } from "../../../contexts/ComponentAdapter/useComponentContext.js";
10
- import ve from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
9
+ import _e from "../../../hooks/useContainerBreakpoints/useContainerBreakpoints.js";
10
+ import { useComponentContext as ve } from "../../../contexts/ComponentAdapter/useComponentContext.js";
11
11
  import { useI18n as Le } from "../../../i18n/I18n.js";
12
12
  import { useDateFormatter as Ee } from "../../../hooks/useDateFormatter.js";
13
13
  import Oe from "../../../hooks/useNumberFormatter.js";
@@ -39,9 +39,9 @@ const Ve = (u, C) => u?.startDate && u.endDate ? C.formatPayPeriod(u.startDate,
39
39
  paymentSpeed: be,
40
40
  pagination: _
41
41
  }) => {
42
- const { Alert: v, Badge: L, Button: T, ButtonIcon: R, Dialog: ye, Heading: j, Text: y, Tabs: pe } = _e();
42
+ const { Alert: v, Badge: L, Button: T, ButtonIcon: R, Dialog: ye, Heading: j, Text: y, Tabs: pe } = ve();
43
43
  Le("Payroll.PayrollOverview");
44
- const d = Ee(), { t } = Pe("Payroll.PayrollOverview"), l = Oe("currency"), [fe, he] = re("companyPays"), [U, G] = re(!1), E = ke(null), D = ve({ ref: E }).includes("small"), H = f === p.Submitting || f === p.Cancelling, $ = /* @__PURE__ */ a(j, { as: "h1", children: t(h ? "summaryTitle" : "overviewTitle") }), z = Ne(n.offCycleReason), K = /* @__PURE__ */ a(y, { children: /* @__PURE__ */ a(
44
+ const d = Ee(), { t } = Pe("Payroll.PayrollOverview"), l = Oe("currency"), [fe, he] = re("companyPays"), [U, G] = re(!1), E = ke(null), D = _e({ ref: E }).includes("small"), H = f === p.Submitting || f === p.Cancelling, $ = /* @__PURE__ */ a(j, { as: "h1", children: t(h ? "summaryTitle" : "overviewTitle") }), z = Ne(n.offCycleReason), K = /* @__PURE__ */ a(y, { children: /* @__PURE__ */ a(
45
45
  xe,
46
46
  {
47
47
  i18nKey: z ? "pageSubtitleDismissal" : "pageSubtitle",
@@ -2,10 +2,9 @@ import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
2
  import { useTranslation as B } from "react-i18next";
3
3
  import { Flex as l } from "../../../Common/Flex/Flex.js";
4
4
  import { useComponentContext as _ } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
5
- import "react";
6
5
  import { useDateFormatter as y } from "../../../../hooks/useDateFormatter.js";
7
6
  import O from "../../../../assets/icons/icon-zap-fast.svg.js";
8
- const L = ({
7
+ const v = ({
9
8
  blocker: r,
10
9
  selectedValue: d,
11
10
  onUnblockOptionChange: h,
@@ -46,6 +45,6 @@ const L = ({
46
45
  ] }) });
47
46
  };
48
47
  export {
49
- L as FastAchSubmissionBlockerBanner
48
+ v as FastAchSubmissionBlockerBanner
50
49
  };
51
50
  //# sourceMappingURL=FastAchSubmissionBlockerBanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FastAchSubmissionBlockerBanner.js","sources":["../../../../../src/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type {\n PayrollSubmissionBlockerType,\n UnblockOptions,\n} from '@gusto/embedded-api/models/components/payrollsubmissionblockertype'\nimport type { PaymentSpeed } from '@gusto/embedded-api/models/components/paymentconfigs'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport IconFast from '@/assets/icons/icon-zap-fast.svg?react'\n\ntype FastAchBlockerType = 'fast_ach_threshold_exceeded' | 'needs_earned_access_for_fast_ach'\n\ninterface FastAchSubmissionBlockerBannerProps {\n blocker: PayrollSubmissionBlockerType\n selectedValue?: string\n onUnblockOptionChange: (blockerType: string, value: string) => void\n paymentSpeed?: PaymentSpeed\n}\n\n/** @internal */\nexport const FastAchSubmissionBlockerBanner = ({\n blocker,\n selectedValue,\n onUnblockOptionChange,\n paymentSpeed,\n}: FastAchSubmissionBlockerBannerProps) => {\n const { t } = useTranslation('Payroll.PayrollOverview')\n const { Banner, Text, RadioGroup, Badge } = useComponentContext()\n const dateFormatter = useDateFormatter()\n const blockerType = (blocker.blockerType || 'fast_ach_threshold_exceeded') as FastAchBlockerType\n\n const titleKey =\n blockerType === 'fast_ach_threshold_exceeded'\n ? 'submissionBlockers.fast_ach_threshold_exceeded.title'\n : 'submissionBlockers.needs_earned_access_for_fast_ach.title'\n\n return (\n <Banner status=\"error\" title={t(titleKey, { days: paymentSpeed || '2-day' })}>\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('submissionBlockers.fastAchOptions.description')}</Text>\n <RadioGroup\n label={t('submissionBlockers.fastAchOptions.fundingOptionsLabel')}\n shouldVisuallyHideLabel\n options={\n blocker.unblockOptions?.map((option: UnblockOptions) => {\n const isWire = option.unblockType === 'wire_in'\n const label = isWire\n ? t('submissionBlockers.fastAchOptions.wireLabel')\n : t('submissionBlockers.fastAchOptions.directDepositLabel')\n const description = isWire\n ? t('submissionBlockers.fastAchOptions.wireDescription')\n : t('submissionBlockers.fastAchOptions.directDepositDescription')\n\n return {\n value: option.unblockType || '',\n label: (\n <Flex alignItems=\"center\" gap={8}>\n <Text weight=\"semibold\">{label}</Text>\n {isWire && (\n <Badge status=\"success\">\n <IconFast aria-hidden />{' '}\n {t('submissionBlockers.fastAchOptions.wireFastestBadge')}\n </Badge>\n )}\n {option.checkDate && (\n <Badge status=\"info\">\n {t('submissionBlockers.fastAchOptions.employeePayDate', {\n date: dateFormatter.formatShortWithYear(option.checkDate),\n })}\n </Badge>\n )}\n </Flex>\n ),\n description,\n }\n }) || []\n }\n value={selectedValue}\n onChange={value => {\n onUnblockOptionChange(blockerType, value)\n }}\n />\n </Flex>\n </Banner>\n )\n}\n"],"names":["FastAchSubmissionBlockerBanner","blocker","selectedValue","onUnblockOptionChange","paymentSpeed","t","useTranslation","Banner","Text","RadioGroup","Badge","useComponentContext","dateFormatter","useDateFormatter","blockerType","jsxs","Flex","jsx","option","isWire","label","description","IconFast","value"],"mappings":";;;;;;;AAqBO,MAAMA,IAAiC,CAAC;AAAA,EAC7C,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,cAAAC;AACF,MAA2C;AACzC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,QAAAC,GAAQ,MAAAC,GAAM,YAAAC,GAAY,OAAAC,EAAA,IAAUC,EAAA,GACtCC,IAAgBC,EAAA,GAChBC,IAAeb,EAAQ,eAAe;AAO5C,2BACGM,GAAA,EAAO,QAAO,SAAQ,OAAOF,EAL9BS,MAAgB,gCACZ,yDACA,6DAGsC,EAAE,MAAMV,KAAgB,SAAS,GACzE,UAAA,gBAAAW,EAACC,KAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAC,EAACT,GAAA,EAAM,UAAAH,EAAE,+CAA+C,EAAA,CAAE;AAAA,IAC1D,gBAAAY;AAAA,MAACR;AAAA,MAAA;AAAA,QACC,OAAOJ,EAAE,uDAAuD;AAAA,QAChE,yBAAuB;AAAA,QACvB,SACEJ,EAAQ,gBAAgB,IAAI,CAACiB,MAA2B;AACtD,gBAAMC,IAASD,EAAO,gBAAgB,WAChCE,IACFf,EADUc,IACR,gDACA,sDAD6C,GAE7CE,IACFhB,EADgBc,IACd,sDACA,4DADmD;AAGzD,iBAAO;AAAA,YACL,OAAOD,EAAO,eAAe;AAAA,YAC7B,OACE,gBAAAH,EAACC,GAAA,EAAK,YAAW,UAAS,KAAK,GAC7B,UAAA;AAAA,cAAA,gBAAAC,EAACT,GAAA,EAAK,QAAO,YAAY,UAAAY,GAAM;AAAA,cAC9BD,KACC,gBAAAJ,EAACL,GAAA,EAAM,QAAO,WACZ,UAAA;AAAA,gBAAA,gBAAAO,EAACK,GAAA,EAAS,eAAW,GAAA,CAAC;AAAA,gBAAG;AAAA,gBACxBjB,EAAE,oDAAoD;AAAA,cAAA,GACzD;AAAA,cAEDa,EAAO,aACN,gBAAAD,EAACP,KAAM,QAAO,QACX,YAAE,qDAAqD;AAAA,gBACtD,MAAME,EAAc,oBAAoBM,EAAO,SAAS;AAAA,cAAA,CACzD,EAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YAEF,aAAAG;AAAA,UAAA;AAAA,QAEJ,CAAC,KAAK,CAAA;AAAA,QAER,OAAOnB;AAAA,QACP,UAAU,CAAAqB,MAAS;AACjB,UAAApB,EAAsBW,GAAaS,CAAK;AAAA,QAC1C;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CACF;AAEJ;"}
1
+ {"version":3,"file":"FastAchSubmissionBlockerBanner.js","sources":["../../../../../src/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type {\n PayrollSubmissionBlockerType,\n UnblockOptions,\n} from '@gusto/embedded-api/models/components/payrollsubmissionblockertype'\nimport type { PaymentSpeed } from '@gusto/embedded-api/models/components/paymentconfigs'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\nimport IconFast from '@/assets/icons/icon-zap-fast.svg?react'\n\ntype FastAchBlockerType = 'fast_ach_threshold_exceeded' | 'needs_earned_access_for_fast_ach'\n\ninterface FastAchSubmissionBlockerBannerProps {\n blocker: PayrollSubmissionBlockerType\n selectedValue?: string\n onUnblockOptionChange: (blockerType: string, value: string) => void\n paymentSpeed?: PaymentSpeed\n}\n\n/** @internal */\nexport const FastAchSubmissionBlockerBanner = ({\n blocker,\n selectedValue,\n onUnblockOptionChange,\n paymentSpeed,\n}: FastAchSubmissionBlockerBannerProps) => {\n const { t } = useTranslation('Payroll.PayrollOverview')\n const { Banner, Text, RadioGroup, Badge } = useComponentContext()\n const dateFormatter = useDateFormatter()\n const blockerType = (blocker.blockerType || 'fast_ach_threshold_exceeded') as FastAchBlockerType\n\n const titleKey =\n blockerType === 'fast_ach_threshold_exceeded'\n ? 'submissionBlockers.fast_ach_threshold_exceeded.title'\n : 'submissionBlockers.needs_earned_access_for_fast_ach.title'\n\n return (\n <Banner status=\"error\" title={t(titleKey, { days: paymentSpeed || '2-day' })}>\n <Flex flexDirection=\"column\" gap={16}>\n <Text>{t('submissionBlockers.fastAchOptions.description')}</Text>\n <RadioGroup\n label={t('submissionBlockers.fastAchOptions.fundingOptionsLabel')}\n shouldVisuallyHideLabel\n options={\n blocker.unblockOptions?.map((option: UnblockOptions) => {\n const isWire = option.unblockType === 'wire_in'\n const label = isWire\n ? t('submissionBlockers.fastAchOptions.wireLabel')\n : t('submissionBlockers.fastAchOptions.directDepositLabel')\n const description = isWire\n ? t('submissionBlockers.fastAchOptions.wireDescription')\n : t('submissionBlockers.fastAchOptions.directDepositDescription')\n\n return {\n value: option.unblockType || '',\n label: (\n <Flex alignItems=\"center\" gap={8}>\n <Text weight=\"semibold\">{label}</Text>\n {isWire && (\n <Badge status=\"success\">\n <IconFast aria-hidden />{' '}\n {t('submissionBlockers.fastAchOptions.wireFastestBadge')}\n </Badge>\n )}\n {option.checkDate && (\n <Badge status=\"info\">\n {t('submissionBlockers.fastAchOptions.employeePayDate', {\n date: dateFormatter.formatShortWithYear(option.checkDate),\n })}\n </Badge>\n )}\n </Flex>\n ),\n description,\n }\n }) || []\n }\n value={selectedValue}\n onChange={value => {\n onUnblockOptionChange(blockerType, value)\n }}\n />\n </Flex>\n </Banner>\n )\n}\n"],"names":["FastAchSubmissionBlockerBanner","blocker","selectedValue","onUnblockOptionChange","paymentSpeed","t","useTranslation","Banner","Text","RadioGroup","Badge","useComponentContext","dateFormatter","useDateFormatter","blockerType","jsxs","Flex","jsx","option","isWire","label","description","IconFast","value"],"mappings":";;;;;;AAqBO,MAAMA,IAAiC,CAAC;AAAA,EAC7C,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,cAAAC;AACF,MAA2C;AACzC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,yBAAyB,GAChD,EAAE,QAAAC,GAAQ,MAAAC,GAAM,YAAAC,GAAY,OAAAC,EAAA,IAAUC,EAAA,GACtCC,IAAgBC,EAAA,GAChBC,IAAeb,EAAQ,eAAe;AAO5C,2BACGM,GAAA,EAAO,QAAO,SAAQ,OAAOF,EAL9BS,MAAgB,gCACZ,yDACA,6DAGsC,EAAE,MAAMV,KAAgB,SAAS,GACzE,UAAA,gBAAAW,EAACC,KAAK,eAAc,UAAS,KAAK,IAChC,UAAA;AAAA,IAAA,gBAAAC,EAACT,GAAA,EAAM,UAAAH,EAAE,+CAA+C,EAAA,CAAE;AAAA,IAC1D,gBAAAY;AAAA,MAACR;AAAA,MAAA;AAAA,QACC,OAAOJ,EAAE,uDAAuD;AAAA,QAChE,yBAAuB;AAAA,QACvB,SACEJ,EAAQ,gBAAgB,IAAI,CAACiB,MAA2B;AACtD,gBAAMC,IAASD,EAAO,gBAAgB,WAChCE,IACFf,EADUc,IACR,gDACA,sDAD6C,GAE7CE,IACFhB,EADgBc,IACd,sDACA,4DADmD;AAGzD,iBAAO;AAAA,YACL,OAAOD,EAAO,eAAe;AAAA,YAC7B,OACE,gBAAAH,EAACC,GAAA,EAAK,YAAW,UAAS,KAAK,GAC7B,UAAA;AAAA,cAAA,gBAAAC,EAACT,GAAA,EAAK,QAAO,YAAY,UAAAY,GAAM;AAAA,cAC9BD,KACC,gBAAAJ,EAACL,GAAA,EAAM,QAAO,WACZ,UAAA;AAAA,gBAAA,gBAAAO,EAACK,GAAA,EAAS,eAAW,GAAA,CAAC;AAAA,gBAAG;AAAA,gBACxBjB,EAAE,oDAAoD;AAAA,cAAA,GACzD;AAAA,cAEDa,EAAO,aACN,gBAAAD,EAACP,KAAM,QAAO,QACX,YAAE,qDAAqD;AAAA,gBACtD,MAAME,EAAc,oBAAoBM,EAAO,SAAS;AAAA,cAAA,CACzD,EAAA,CACH;AAAA,YAAA,GAEJ;AAAA,YAEF,aAAAG;AAAA,UAAA;AAAA,QAEJ,CAAC,KAAK,CAAA;AAAA,QAER,OAAOnB;AAAA,QACP,UAAU,CAAAqB,MAAS;AACjB,UAAApB,EAAsBW,GAAaS,CAAK;AAAA,QAC1C;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CACF;AAEJ;"}
@@ -1,6 +1,6 @@
1
1
  import { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest';
2
2
  /** @internal */
3
- export type PayrollStatusTranslationKey = 'processed' | 'unprocessed' | 'calculating' | 'readyToSubmit' | 'processing' | 'failed' | 'waitingForWireIn' | 'pendingApproval' | 'dueInHours' | 'dueInDays' | 'daysLate' | 'pending' | 'paid' | 'complete' | 'submitted' | 'inProgress';
3
+ export type PayrollStatusTranslationKey = 'processed' | 'calculating' | 'readyToSubmit' | 'processing' | 'failed' | 'waitingForWireIn' | 'pendingApproval' | 'dueInHours' | 'dueInDays' | 'daysLate' | 'pending' | 'paid' | 'complete' | 'submitted' | 'inProgress';
4
4
  /** @internal */
5
5
  export type PayrollStatusBadge = {
6
6
  /** Optional pre-translated label; when omitted the consumer translates `translationKey`. */
@@ -123,7 +123,7 @@ const o = [
123
123
  if (!n.payrollDeadline || n.processed || n.processingRequest?.status && o.includes(n.processingRequest.status))
124
124
  return !1;
125
125
  const a = s(n.payrollDeadline), e = i(n.payrollDeadline);
126
- return a === null || e === null ? !1 : a > 0 && a >= 24 && Math.ceil(e) <= 30;
126
+ return a === null || e === null ? !1 : a > 0 && a >= 24 && Math.ceil(e) <= 14;
127
127
  }
128
128
  },
129
129
  {
@@ -145,14 +145,6 @@ const o = [
145
145
  translationKey: "pending"
146
146
  },
147
147
  condition: (n) => !!n.processed
148
- },
149
- {
150
- name: "unprocessed",
151
- badge: {
152
- variant: "info",
153
- translationKey: "unprocessed"
154
- },
155
- condition: (n) => !n.processed && !n.processingRequest?.status
156
148
  }
157
149
  ];
158
150
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"payrollStatusConfig.js","sources":["../../../../src/components/Payroll/PayrollStatusBadges/payrollStatusConfig.ts"],"sourcesContent":["import { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { WireInRequestStatus } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { normalizeToDate, getHoursUntil, getDaysUntil } from '@/helpers/dateFormatting'\n\n/** @internal */\nexport type PayrollStatusTranslationKey =\n | 'processed'\n | 'unprocessed'\n | 'calculating'\n | 'readyToSubmit'\n | 'processing'\n | 'failed'\n | 'waitingForWireIn'\n | 'pendingApproval'\n | 'dueInHours'\n | 'dueInDays'\n | 'daysLate'\n | 'pending'\n | 'paid'\n | 'complete'\n | 'submitted'\n | 'inProgress'\n\n/** @internal */\nexport type PayrollStatusBadge = {\n /** Optional pre-translated label; when omitted the consumer translates `translationKey`. */\n label?: string\n /** Badge color variant. */\n variant: 'success' | 'warning' | 'error' | 'info'\n /** Key into the `Payroll.Common` `status.*` translation namespace. */\n translationKey: PayrollStatusTranslationKey\n /** Optional interpolation values for the translation (e.g. `{ hours: 3 }`). */\n translationParams?: Record<string, string | number>\n}\n\n/** @internal */\nexport type PayrollStatusBadges = {\n /** Ordered list of badges to render for a payroll row. */\n badges: PayrollStatusBadge[]\n}\n\n/** @internal */\nexport type PayrollInput = {\n /** Whether the payroll has been submitted for processing. */\n processed?: boolean\n /** Date employees are paid; used to distinguish `pending` from `complete`. */\n checkDate?: string | null | Date\n /** Deadline by which the payroll must be submitted. */\n payrollDeadline?: string | null | Date\n /** Timestamp marking when calculation finished. */\n calculatedAt?: Date | null\n /** Current processing request status and any associated errors. */\n processingRequest?: {\n /** Lifecycle status reported by the payroll processing request. */\n status?: PayrollProcessingRequestStatus\n /** Errors surfaced by the processing request, when any. */\n errors?: unknown[]\n } | null\n}\n\n/** @internal */\nexport type WireInRequestInput = {\n /** Wire-in request lifecycle status (e.g. awaiting funds, pending review). */\n status?: string\n /** UUID of the associated payment. */\n paymentUuid?: string\n /** Deadline by which the wire must be received. */\n wireInDeadline?: string\n} | null\n\n/** @internal */\nexport type StatusConfig = {\n /** Identifier for the status rule; used for debugging and snapshot diffs. */\n name: string\n /** Either a static badge or a factory that derives one from the payroll/wire-in inputs. */\n badge:\n | PayrollStatusBadge\n | ((payroll: PayrollInput, wireInRequest?: WireInRequestInput) => PayrollStatusBadge)\n /** Predicate that decides whether this status applies to the given inputs. */\n condition: (payroll: PayrollInput, wireInRequest?: WireInRequestInput) => boolean\n /** When true, evaluation continues to later rules instead of stopping at the first match. */\n continueChecking?: boolean\n}\n\nconst ACTIVE_PROCESSING_STATUSES: PayrollProcessingRequestStatus[] = [\n PayrollProcessingRequestStatus.Calculating,\n PayrollProcessingRequestStatus.Submitting,\n PayrollProcessingRequestStatus.ProcessingFailed,\n]\n\n/** @internal */\nexport const STATUS_CONFIG: StatusConfig[] = [\n {\n name: 'calculating',\n badge: {\n variant: 'info',\n translationKey: 'calculating',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.Calculating,\n },\n {\n name: 'readyToSubmit',\n badge: {\n variant: 'info',\n translationKey: 'readyToSubmit',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess &&\n !!payroll.calculatedAt,\n },\n {\n name: 'processing',\n badge: {\n variant: 'warning',\n translationKey: 'processing',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.Submitting,\n continueChecking: true,\n },\n {\n name: 'failed',\n badge: {\n variant: 'error',\n translationKey: 'failed',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.ProcessingFailed,\n continueChecking: true,\n },\n {\n name: 'late',\n badge: payroll => {\n const daysDiff = getDaysUntil(payroll.payrollDeadline)\n if (daysDiff === null) {\n return {\n variant: 'error',\n translationKey: 'daysLate',\n translationParams: { days: 0 },\n }\n }\n\n const daysPast = Math.abs(Math.floor(daysDiff))\n\n return {\n variant: 'error',\n translationKey: 'daysLate',\n translationParams: { days: daysPast },\n }\n },\n condition: payroll => {\n if (!payroll.payrollDeadline || payroll.processed) return false\n\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n if (hoursDiff === null) return false\n\n return hoursDiff < 0\n },\n },\n {\n name: 'readyToSubmitFallback',\n badge: {\n variant: 'info',\n translationKey: 'readyToSubmit',\n },\n condition: payroll => !!payroll.calculatedAt && !payroll.processed,\n },\n {\n name: 'waitingForWireIn',\n badge: {\n variant: 'warning',\n translationKey: 'waitingForWireIn',\n },\n condition: (payroll, wireInRequest) =>\n !!payroll.processed && wireInRequest?.status === WireInRequestStatus.AwaitingFunds,\n },\n {\n name: 'pendingApproval',\n badge: {\n variant: 'warning',\n translationKey: 'pendingApproval',\n },\n condition: (payroll, wireInRequest) =>\n !!payroll.processed && wireInRequest?.status === WireInRequestStatus.PendingReview,\n },\n {\n name: 'dueInHours',\n badge: payroll => {\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n if (hoursDiff === null) {\n return {\n variant: 'warning',\n translationKey: 'dueInHours',\n translationParams: { hours: 0 },\n }\n }\n\n const hours = Math.ceil(hoursDiff)\n\n return {\n variant: 'warning',\n translationKey: 'dueInHours',\n translationParams: { hours },\n }\n },\n condition: payroll => {\n if (!payroll.payrollDeadline || payroll.processed) return false\n\n if (\n payroll.processingRequest?.status &&\n ACTIVE_PROCESSING_STATUSES.includes(payroll.processingRequest.status)\n ) {\n return false\n }\n\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n if (hoursDiff === null) return false\n\n return hoursDiff > 0 && hoursDiff < 24\n },\n },\n {\n name: 'dueInDays',\n badge: payroll => {\n const daysDiff = getDaysUntil(payroll.payrollDeadline)\n if (daysDiff === null) {\n return {\n variant: 'info',\n translationKey: 'dueInDays',\n translationParams: { days: 0 },\n }\n }\n\n const days = Math.ceil(daysDiff)\n\n return {\n variant: 'info',\n translationKey: 'dueInDays',\n translationParams: { days },\n }\n },\n condition: payroll => {\n if (!payroll.payrollDeadline || payroll.processed) return false\n\n if (\n payroll.processingRequest?.status &&\n ACTIVE_PROCESSING_STATUSES.includes(payroll.processingRequest.status)\n ) {\n return false\n }\n\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n const daysDiff = getDaysUntil(payroll.payrollDeadline)\n if (hoursDiff === null || daysDiff === null) return false\n\n return hoursDiff > 0 && hoursDiff >= 24 && Math.ceil(daysDiff) <= 30\n },\n },\n {\n name: 'paid',\n badge: {\n variant: 'success',\n translationKey: 'complete',\n },\n condition: payroll => {\n if (!payroll.processed) return false\n\n const now = new Date()\n const checkDate = normalizeToDate(payroll.checkDate)\n\n return checkDate !== null && checkDate <= now\n },\n },\n {\n name: 'pending',\n badge: {\n variant: 'info',\n translationKey: 'pending',\n },\n condition: payroll => !!payroll.processed,\n },\n {\n name: 'unprocessed',\n badge: {\n variant: 'info',\n translationKey: 'unprocessed',\n },\n condition: payroll => !payroll.processed && !payroll.processingRequest?.status,\n },\n]\n"],"names":["ACTIVE_PROCESSING_STATUSES","PayrollProcessingRequestStatus","STATUS_CONFIG","payroll","daysDiff","getDaysUntil","hoursDiff","getHoursUntil","wireInRequest","WireInRequestStatus","now","checkDate","normalizeToDate"],"mappings":"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"}
1
+ {"version":3,"file":"payrollStatusConfig.js","sources":["../../../../src/components/Payroll/PayrollStatusBadges/payrollStatusConfig.ts"],"sourcesContent":["import { PayrollProcessingRequestStatus } from '@gusto/embedded-api/models/components/payrollprocessingrequest'\nimport { WireInRequestStatus } from '@gusto/embedded-api/models/components/wireinrequest'\nimport { normalizeToDate, getHoursUntil, getDaysUntil } from '@/helpers/dateFormatting'\n\n/** @internal */\nexport type PayrollStatusTranslationKey =\n | 'processed'\n | 'calculating'\n | 'readyToSubmit'\n | 'processing'\n | 'failed'\n | 'waitingForWireIn'\n | 'pendingApproval'\n | 'dueInHours'\n | 'dueInDays'\n | 'daysLate'\n | 'pending'\n | 'paid'\n | 'complete'\n | 'submitted'\n | 'inProgress'\n\n/** @internal */\nexport type PayrollStatusBadge = {\n /** Optional pre-translated label; when omitted the consumer translates `translationKey`. */\n label?: string\n /** Badge color variant. */\n variant: 'success' | 'warning' | 'error' | 'info'\n /** Key into the `Payroll.Common` `status.*` translation namespace. */\n translationKey: PayrollStatusTranslationKey\n /** Optional interpolation values for the translation (e.g. `{ hours: 3 }`). */\n translationParams?: Record<string, string | number>\n}\n\n/** @internal */\nexport type PayrollStatusBadges = {\n /** Ordered list of badges to render for a payroll row. */\n badges: PayrollStatusBadge[]\n}\n\n/** @internal */\nexport type PayrollInput = {\n /** Whether the payroll has been submitted for processing. */\n processed?: boolean\n /** Date employees are paid; used to distinguish `pending` from `complete`. */\n checkDate?: string | null | Date\n /** Deadline by which the payroll must be submitted. */\n payrollDeadline?: string | null | Date\n /** Timestamp marking when calculation finished. */\n calculatedAt?: Date | null\n /** Current processing request status and any associated errors. */\n processingRequest?: {\n /** Lifecycle status reported by the payroll processing request. */\n status?: PayrollProcessingRequestStatus\n /** Errors surfaced by the processing request, when any. */\n errors?: unknown[]\n } | null\n}\n\n/** @internal */\nexport type WireInRequestInput = {\n /** Wire-in request lifecycle status (e.g. awaiting funds, pending review). */\n status?: string\n /** UUID of the associated payment. */\n paymentUuid?: string\n /** Deadline by which the wire must be received. */\n wireInDeadline?: string\n} | null\n\n/** @internal */\nexport type StatusConfig = {\n /** Identifier for the status rule; used for debugging and snapshot diffs. */\n name: string\n /** Either a static badge or a factory that derives one from the payroll/wire-in inputs. */\n badge:\n | PayrollStatusBadge\n | ((payroll: PayrollInput, wireInRequest?: WireInRequestInput) => PayrollStatusBadge)\n /** Predicate that decides whether this status applies to the given inputs. */\n condition: (payroll: PayrollInput, wireInRequest?: WireInRequestInput) => boolean\n /** When true, evaluation continues to later rules instead of stopping at the first match. */\n continueChecking?: boolean\n}\n\nconst ACTIVE_PROCESSING_STATUSES: PayrollProcessingRequestStatus[] = [\n PayrollProcessingRequestStatus.Calculating,\n PayrollProcessingRequestStatus.Submitting,\n PayrollProcessingRequestStatus.ProcessingFailed,\n]\n\n/** @internal */\nexport const STATUS_CONFIG: StatusConfig[] = [\n {\n name: 'calculating',\n badge: {\n variant: 'info',\n translationKey: 'calculating',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.Calculating,\n },\n {\n name: 'readyToSubmit',\n badge: {\n variant: 'info',\n translationKey: 'readyToSubmit',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.CalculateSuccess &&\n !!payroll.calculatedAt,\n },\n {\n name: 'processing',\n badge: {\n variant: 'warning',\n translationKey: 'processing',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.Submitting,\n continueChecking: true,\n },\n {\n name: 'failed',\n badge: {\n variant: 'error',\n translationKey: 'failed',\n },\n condition: payroll =>\n payroll.processingRequest?.status === PayrollProcessingRequestStatus.ProcessingFailed,\n continueChecking: true,\n },\n {\n name: 'late',\n badge: payroll => {\n const daysDiff = getDaysUntil(payroll.payrollDeadline)\n if (daysDiff === null) {\n return {\n variant: 'error',\n translationKey: 'daysLate',\n translationParams: { days: 0 },\n }\n }\n\n const daysPast = Math.abs(Math.floor(daysDiff))\n\n return {\n variant: 'error',\n translationKey: 'daysLate',\n translationParams: { days: daysPast },\n }\n },\n condition: payroll => {\n if (!payroll.payrollDeadline || payroll.processed) return false\n\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n if (hoursDiff === null) return false\n\n return hoursDiff < 0\n },\n },\n {\n name: 'readyToSubmitFallback',\n badge: {\n variant: 'info',\n translationKey: 'readyToSubmit',\n },\n condition: payroll => !!payroll.calculatedAt && !payroll.processed,\n },\n {\n name: 'waitingForWireIn',\n badge: {\n variant: 'warning',\n translationKey: 'waitingForWireIn',\n },\n condition: (payroll, wireInRequest) =>\n !!payroll.processed && wireInRequest?.status === WireInRequestStatus.AwaitingFunds,\n },\n {\n name: 'pendingApproval',\n badge: {\n variant: 'warning',\n translationKey: 'pendingApproval',\n },\n condition: (payroll, wireInRequest) =>\n !!payroll.processed && wireInRequest?.status === WireInRequestStatus.PendingReview,\n },\n {\n name: 'dueInHours',\n badge: payroll => {\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n if (hoursDiff === null) {\n return {\n variant: 'warning',\n translationKey: 'dueInHours',\n translationParams: { hours: 0 },\n }\n }\n\n const hours = Math.ceil(hoursDiff)\n\n return {\n variant: 'warning',\n translationKey: 'dueInHours',\n translationParams: { hours },\n }\n },\n condition: payroll => {\n if (!payroll.payrollDeadline || payroll.processed) return false\n\n if (\n payroll.processingRequest?.status &&\n ACTIVE_PROCESSING_STATUSES.includes(payroll.processingRequest.status)\n ) {\n return false\n }\n\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n if (hoursDiff === null) return false\n\n return hoursDiff > 0 && hoursDiff < 24\n },\n },\n {\n name: 'dueInDays',\n badge: payroll => {\n const daysDiff = getDaysUntil(payroll.payrollDeadline)\n if (daysDiff === null) {\n return {\n variant: 'info',\n translationKey: 'dueInDays',\n translationParams: { days: 0 },\n }\n }\n\n const days = Math.ceil(daysDiff)\n\n return {\n variant: 'info',\n translationKey: 'dueInDays',\n translationParams: { days },\n }\n },\n condition: payroll => {\n if (!payroll.payrollDeadline || payroll.processed) return false\n\n if (\n payroll.processingRequest?.status &&\n ACTIVE_PROCESSING_STATUSES.includes(payroll.processingRequest.status)\n ) {\n return false\n }\n\n const hoursDiff = getHoursUntil(payroll.payrollDeadline)\n const daysDiff = getDaysUntil(payroll.payrollDeadline)\n if (hoursDiff === null || daysDiff === null) return false\n\n return hoursDiff > 0 && hoursDiff >= 24 && Math.ceil(daysDiff) <= 14\n },\n },\n {\n name: 'paid',\n badge: {\n variant: 'success',\n translationKey: 'complete',\n },\n condition: payroll => {\n if (!payroll.processed) return false\n\n const now = new Date()\n const checkDate = normalizeToDate(payroll.checkDate)\n\n return checkDate !== null && checkDate <= now\n },\n },\n {\n name: 'pending',\n badge: {\n variant: 'info',\n translationKey: 'pending',\n },\n condition: payroll => !!payroll.processed,\n },\n]\n"],"names":["ACTIVE_PROCESSING_STATUSES","PayrollProcessingRequestStatus","STATUS_CONFIG","payroll","daysDiff","getDaysUntil","hoursDiff","getHoursUntil","wireInRequest","WireInRequestStatus","now","checkDate","normalizeToDate"],"mappings":"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"}
@@ -11,10 +11,9 @@ import { DataView as L } from "../../../Common/DataView/DataView.js";
11
11
  import { useDataView as D } from "../../../Common/DataView/useDataView.js";
12
12
  import { FlexItem as E, Flex as d } from "../../../Common/Flex/Flex.js";
13
13
  import { EmptyData as x } from "../../../Common/EmptyData/EmptyData.js";
14
- import "react";
15
14
  import { recoveryCasesEvents as P } from "../../../../shared/constants.js";
16
15
  import { formatNumberAsCurrency as p } from "../../../../helpers/formattedStrings.js";
17
- function J(r) {
16
+ function z(r) {
18
17
  return /* @__PURE__ */ e(R, { ...r, children: /* @__PURE__ */ e(w, { ...r, children: r.children }) });
19
18
  }
20
19
  function A(r) {
@@ -100,6 +99,6 @@ function w({ companyId: r, dictionary: n, onEvent: s }) {
100
99
  ] }) });
101
100
  }
102
101
  export {
103
- J as RecoveryCasesList
102
+ z as RecoveryCasesList
104
103
  };
105
104
  //# sourceMappingURL=RecoveryCasesList.js.map
@@ -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/models/components/recoverycase'\nimport { useRecoveryCasesGetSuspense } from '@gusto/embedded-api/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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"}
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/models/components/recoverycase'\nimport { useRecoveryCasesGetSuspense } from '@gusto/embedded-api/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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"}
@@ -7,10 +7,9 @@ import { useRecoveryCaseErrorCode as x } from "../useRecoveryCaseErrorCode.js";
7
7
  import { BaseComponent as D } from "../../../Base/Base.js";
8
8
  import { useBase as B } from "../../../Base/useBase.js";
9
9
  import { Flex as d } from "../../../Common/Flex/Flex.js";
10
- import { useComponentContext as C } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
- import "react";
12
10
  import { Form as F } from "../../../Common/Form/Form.js";
13
11
  import { useFlow as A } from "../../../Flow/useFlow.js";
12
+ import { useComponentContext as C } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
14
13
  import { useComponentDictionary as I, useI18n as O } from "../../../../i18n/I18n.js";
15
14
  import { recoveryCasesEvents as y } from "../../../../shared/constants.js";
16
15
  const R = "gusto-sdk-recovery-cases-resubmit-form";
@@ -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/react-query/recoveryCasesRedebit'\nimport { useRecoveryCasesGet } from '@gusto/embedded-api/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;"}
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/react-query/recoveryCasesRedebit'\nimport { useRecoveryCasesGet } from '@gusto/embedded-api/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;"}
@@ -3,7 +3,6 @@ import { useTranslation as a, Trans as c } from "react-i18next";
3
3
  import p from "./RecoveryCaseErrorCode.module.scss.js";
4
4
  import { Flex as C } from "../../Common/Flex/Flex.js";
5
5
  import { useComponentContext as R } from "../../../contexts/ComponentAdapter/useComponentContext.js";
6
- import "react";
7
6
  import { useI18n as f } from "../../../i18n/I18n.js";
8
7
  function h(s) {
9
8
  switch (s) {
@@ -19,7 +18,7 @@ function h(s) {
19
18
  return "bankError";
20
19
  }
21
20
  }
22
- function g(s) {
21
+ function v(s) {
23
22
  f("Payroll.RecoveryCasesResubmit");
24
23
  const { t: r } = a("Payroll.RecoveryCasesResubmit"), { Text: o } = R();
25
24
  if (!s)
@@ -60,6 +59,6 @@ function g(s) {
60
59
  };
61
60
  }
62
61
  export {
63
- g as useRecoveryCaseErrorCode
62
+ v as useRecoveryCaseErrorCode
64
63
  };
65
64
  //# sourceMappingURL=useRecoveryCaseErrorCode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRecoveryCaseErrorCode.js","sources":["../../../../src/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport styles from './RecoveryCaseErrorCode.module.scss'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport interface RecoveryCaseErrorCodeContent {\n /** Localized title for the error code, or `null` when no error code is set. */\n title: string | null\n /** Localized subtitle for the error code, or `null` when no error code is set. */\n subtitle: string | null\n /** Localized description nodes for the error code, including any per-code instructions. Empty when no error code is set. */\n description: ReactNode[]\n}\n\ntype ErrorCodeKey = 'R01' | 'R02' | 'R16' | 'R29' | 'bankError'\n\nfunction getErrorCodeKey(errorCode: string | null | undefined): ErrorCodeKey {\n switch (errorCode) {\n case 'R01':\n return 'R01'\n case 'R02':\n return 'R02'\n case 'R16':\n return 'R16'\n case 'R29':\n return 'R29'\n default:\n return 'bankError'\n }\n}\n\n/** @internal */\nexport function useRecoveryCaseErrorCode(\n errorCode: string | null | undefined,\n): RecoveryCaseErrorCodeContent {\n useI18n('Payroll.RecoveryCasesResubmit')\n const { t } = useTranslation('Payroll.RecoveryCasesResubmit')\n const { Text } = useComponentContext()\n\n if (!errorCode) {\n return {\n title: null,\n subtitle: null,\n description: [],\n }\n }\n\n const errorCodeKey = getErrorCodeKey(errorCode)\n\n const transComponents = {\n medium: <Text as=\"span\" weight=\"medium\" />,\n }\n\n const description: ReactNode[] = [\n <Text key=\"body\">\n <Trans t={t} i18nKey={`errorCodes.${errorCodeKey}.body`} components={transComponents} />\n </Text>,\n ]\n\n if (errorCodeKey === 'R29') {\n const achCodes = Object.values(t('errorCodes.R29.achCodes', { returnObjects: true }))\n description.push(\n <Flex key=\"instruction\" flexDirection=\"column\" gap={16}>\n <Text>{t('errorCodes.R29.listDescription')}</Text>\n <ul className={styles.compactList}>\n {achCodes.map((code, index) => (\n <li key={index}>{code}</li>\n ))}\n </ul>\n <Text>\n <Trans t={t} i18nKey=\"errorCodes.R29.instruction\" components={transComponents} />\n </Text>\n </Flex>,\n )\n } else {\n const instruction = t(`errorCodes.${errorCodeKey}.instruction`)\n if (instruction) {\n description.push(\n <Text key=\"instruction\">\n <Trans\n t={t}\n i18nKey={`errorCodes.${errorCodeKey}.instruction`}\n components={transComponents}\n />\n </Text>,\n )\n }\n }\n\n return {\n title: t(`errorCodes.${errorCodeKey}.title`),\n subtitle: t(`errorCodes.${errorCodeKey}.subtitle`),\n description,\n }\n}\n"],"names":["getErrorCodeKey","errorCode","useRecoveryCaseErrorCode","useI18n","t","useTranslation","Text","useComponentContext","errorCodeKey","transComponents","jsx","description","Trans","achCodes","jsxs","Flex","styles","code","index"],"mappings":";;;;;;;AAmBA,SAASA,EAAgBC,GAAoD;AAC3E,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;AAGO,SAASC,EACdD,GAC8B;AAC9B,EAAAE,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GACtD,EAAE,MAAAC,EAAA,IAASC,EAAA;AAEjB,MAAI,CAACN;AACH,WAAO;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa,CAAA;AAAA,IAAC;AAIlB,QAAMO,IAAeR,EAAgBC,CAAS,GAExCQ,IAAkB;AAAA,IACtB,QAAQ,gBAAAC,EAACJ,GAAA,EAAK,IAAG,QAAO,QAAO,SAAA,CAAS;AAAA,EAAA,GAGpCK,IAA2B;AAAA,IAC/B,gBAAAD,EAACJ,GAAA,EACC,UAAA,gBAAAI,EAACE,GAAA,EAAM,GAAAR,GAAM,SAAS,cAAcI,CAAY,SAAS,YAAYC,EAAA,CAAiB,EAAA,GAD9E,MAEV;AAAA,EAAA;AAGF,MAAID,MAAiB,OAAO;AAC1B,UAAMK,IAAW,OAAO,OAAOT,EAAE,2BAA2B,EAAE,eAAe,GAAA,CAAM,CAAC;AACpF,IAAAO,EAAY;AAAA,MACV,gBAAAG,EAACC,GAAA,EAAuB,eAAc,UAAS,KAAK,IAClD,UAAA;AAAA,QAAA,gBAAAL,EAACJ,GAAA,EAAM,UAAAF,EAAE,gCAAgC,EAAA,CAAE;AAAA,QAC3C,gBAAAM,EAAC,MAAA,EAAG,WAAWM,EAAO,aACnB,UAAAH,EAAS,IAAI,CAACI,GAAMC,MACnB,gBAAAR,EAAC,MAAA,EAAgB,UAAAO,KAARC,CAAa,CACvB,GACH;AAAA,QACA,gBAAAR,EAACJ,KACC,UAAA,gBAAAI,EAACE,GAAA,EAAM,GAAAR,GAAM,SAAQ,8BAA6B,YAAYK,EAAA,CAAiB,EAAA,CACjF;AAAA,MAAA,EAAA,GATQ,aAUV;AAAA,IAAA;AAAA,EAEJ;AAEE,IADoBL,EAAE,cAAcI,CAAY,cAAc,KAE5DG,EAAY;AAAA,wBACTL,GAAA,EACC,UAAA,gBAAAI;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,GAAAR;AAAA,UACA,SAAS,cAAcI,CAAY;AAAA,UACnC,YAAYC;AAAA,QAAA;AAAA,MAAA,KAJN,aAMV;AAAA,IAAA;AAKN,SAAO;AAAA,IACL,OAAOL,EAAE,cAAcI,CAAY,QAAQ;AAAA,IAC3C,UAAUJ,EAAE,cAAcI,CAAY,WAAW;AAAA,IACjD,aAAAG;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useRecoveryCaseErrorCode.js","sources":["../../../../src/components/Payroll/RecoveryCases/useRecoveryCaseErrorCode.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { Trans, useTranslation } from 'react-i18next'\nimport styles from './RecoveryCaseErrorCode.module.scss'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\n\n/** @internal */\nexport interface RecoveryCaseErrorCodeContent {\n /** Localized title for the error code, or `null` when no error code is set. */\n title: string | null\n /** Localized subtitle for the error code, or `null` when no error code is set. */\n subtitle: string | null\n /** Localized description nodes for the error code, including any per-code instructions. Empty when no error code is set. */\n description: ReactNode[]\n}\n\ntype ErrorCodeKey = 'R01' | 'R02' | 'R16' | 'R29' | 'bankError'\n\nfunction getErrorCodeKey(errorCode: string | null | undefined): ErrorCodeKey {\n switch (errorCode) {\n case 'R01':\n return 'R01'\n case 'R02':\n return 'R02'\n case 'R16':\n return 'R16'\n case 'R29':\n return 'R29'\n default:\n return 'bankError'\n }\n}\n\n/** @internal */\nexport function useRecoveryCaseErrorCode(\n errorCode: string | null | undefined,\n): RecoveryCaseErrorCodeContent {\n useI18n('Payroll.RecoveryCasesResubmit')\n const { t } = useTranslation('Payroll.RecoveryCasesResubmit')\n const { Text } = useComponentContext()\n\n if (!errorCode) {\n return {\n title: null,\n subtitle: null,\n description: [],\n }\n }\n\n const errorCodeKey = getErrorCodeKey(errorCode)\n\n const transComponents = {\n medium: <Text as=\"span\" weight=\"medium\" />,\n }\n\n const description: ReactNode[] = [\n <Text key=\"body\">\n <Trans t={t} i18nKey={`errorCodes.${errorCodeKey}.body`} components={transComponents} />\n </Text>,\n ]\n\n if (errorCodeKey === 'R29') {\n const achCodes = Object.values(t('errorCodes.R29.achCodes', { returnObjects: true }))\n description.push(\n <Flex key=\"instruction\" flexDirection=\"column\" gap={16}>\n <Text>{t('errorCodes.R29.listDescription')}</Text>\n <ul className={styles.compactList}>\n {achCodes.map((code, index) => (\n <li key={index}>{code}</li>\n ))}\n </ul>\n <Text>\n <Trans t={t} i18nKey=\"errorCodes.R29.instruction\" components={transComponents} />\n </Text>\n </Flex>,\n )\n } else {\n const instruction = t(`errorCodes.${errorCodeKey}.instruction`)\n if (instruction) {\n description.push(\n <Text key=\"instruction\">\n <Trans\n t={t}\n i18nKey={`errorCodes.${errorCodeKey}.instruction`}\n components={transComponents}\n />\n </Text>,\n )\n }\n }\n\n return {\n title: t(`errorCodes.${errorCodeKey}.title`),\n subtitle: t(`errorCodes.${errorCodeKey}.subtitle`),\n description,\n }\n}\n"],"names":["getErrorCodeKey","errorCode","useRecoveryCaseErrorCode","useI18n","t","useTranslation","Text","useComponentContext","errorCodeKey","transComponents","jsx","description","Trans","achCodes","jsxs","Flex","styles","code","index"],"mappings":";;;;;;AAmBA,SAASA,EAAgBC,GAAoD;AAC3E,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;AAGO,SAASC,EACdD,GAC8B;AAC9B,EAAAE,EAAQ,+BAA+B;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,+BAA+B,GACtD,EAAE,MAAAC,EAAA,IAASC,EAAA;AAEjB,MAAI,CAACN;AACH,WAAO;AAAA,MACL,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa,CAAA;AAAA,IAAC;AAIlB,QAAMO,IAAeR,EAAgBC,CAAS,GAExCQ,IAAkB;AAAA,IACtB,QAAQ,gBAAAC,EAACJ,GAAA,EAAK,IAAG,QAAO,QAAO,SAAA,CAAS;AAAA,EAAA,GAGpCK,IAA2B;AAAA,IAC/B,gBAAAD,EAACJ,GAAA,EACC,UAAA,gBAAAI,EAACE,GAAA,EAAM,GAAAR,GAAM,SAAS,cAAcI,CAAY,SAAS,YAAYC,EAAA,CAAiB,EAAA,GAD9E,MAEV;AAAA,EAAA;AAGF,MAAID,MAAiB,OAAO;AAC1B,UAAMK,IAAW,OAAO,OAAOT,EAAE,2BAA2B,EAAE,eAAe,GAAA,CAAM,CAAC;AACpF,IAAAO,EAAY;AAAA,MACV,gBAAAG,EAACC,GAAA,EAAuB,eAAc,UAAS,KAAK,IAClD,UAAA;AAAA,QAAA,gBAAAL,EAACJ,GAAA,EAAM,UAAAF,EAAE,gCAAgC,EAAA,CAAE;AAAA,QAC3C,gBAAAM,EAAC,MAAA,EAAG,WAAWM,EAAO,aACnB,UAAAH,EAAS,IAAI,CAACI,GAAMC,MACnB,gBAAAR,EAAC,MAAA,EAAgB,UAAAO,KAARC,CAAa,CACvB,GACH;AAAA,QACA,gBAAAR,EAACJ,KACC,UAAA,gBAAAI,EAACE,GAAA,EAAM,GAAAR,GAAM,SAAQ,8BAA6B,YAAYK,EAAA,CAAiB,EAAA,CACjF;AAAA,MAAA,EAAA,GATQ,aAUV;AAAA,IAAA;AAAA,EAEJ;AAEE,IADoBL,EAAE,cAAcI,CAAY,cAAc,KAE5DG,EAAY;AAAA,wBACTL,GAAA,EACC,UAAA,gBAAAI;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,GAAAR;AAAA,UACA,SAAS,cAAcI,CAAY;AAAA,UACnC,YAAYC;AAAA,QAAA;AAAA,MAAA,KAJN,aAMV;AAAA,IAAA;AAKN,SAAO;AAAA,IACL,OAAOL,EAAE,cAAcI,CAAY,QAAQ;AAAA,IAC3C,UAAUJ,EAAE,cAAcI,CAAY,WAAW;AAAA,IACjD,aAAAG;AAAA,EAAA;AAEJ;"}
@@ -11,11 +11,13 @@ import "@gusto/embedded-api/models/errors/apierror";
11
11
  import "@gusto/embedded-api/models/errors/gustoembeddederror";
12
12
  import "@gusto/embedded-api/models/errors/sdkvalidationerror";
13
13
  import "@gusto/embedded-api/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
18
  import "../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
17
19
  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 = ({
20
+ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.category === "invalid_operation") : !1, $ = ({
19
21
  companyId: e,
20
22
  payrollId: r,
21
23
  employeeUuids: a,
@@ -31,7 +33,7 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
31
33
  enabled: !!o?.payPeriod?.payScheduleUuid
32
34
  }
33
35
  ), P = y(async () => {
34
- const i = await p({
36
+ const s = await p({
35
37
  request: {
36
38
  companyId: e,
37
39
  payrollId: r,
@@ -41,8 +43,8 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
41
43
  }
42
44
  }
43
45
  });
44
- f(i.payrollPrepared), i.payrollPrepared && (t.current = !0, l?.(i.payrollPrepared));
45
- }, [e, r, p, h, n, l]), s = y(async () => {
46
+ f(s.payrollPrepared), s.payrollPrepared && (t.current = !0, l?.(s.payrollPrepared));
47
+ }, [e, r, p, h, n, l]), i = y(async () => {
46
48
  await d(
47
49
  null,
48
50
  () => x(P, {
@@ -53,11 +55,11 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
53
55
  );
54
56
  }, [d, P]);
55
57
  b(() => {
56
- u.current || (u.current = !0, s());
57
- }, [s]);
58
+ u.current || (u.current = !0, i());
59
+ }, [i]);
58
60
  const g = c && !t.current, R = c && t.current, A = g || E;
59
61
  return {
60
- handlePreparePayroll: s,
62
+ handlePreparePayroll: i,
61
63
  preparedPayroll: o,
62
64
  paySchedule: S?.payScheduleShow,
63
65
  isLoading: A,
@@ -66,6 +68,6 @@ const q = 4, v = 1500, B = (e) => e instanceof T ? e.errors.some((r) => r.catego
66
68
  };
67
69
  };
68
70
  export {
69
- W as usePreparedPayrollData
71
+ $ as usePreparedPayrollData
70
72
  };
71
73
  //# 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/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow'\nimport { UnprocessableEntityError } from '@gusto/embedded-api/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?: string\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":";;;;;;;;;;;;;;;;;AA0BA,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/react-query/payrollsPrepare'\nimport { usePaySchedulesGet } from '@gusto/embedded-api/react-query/paySchedulesGet'\nimport type { PayrollPrepared } from '@gusto/embedded-api/models/components/payrollshow'\nimport type { PayScheduleShow } from '@gusto/embedded-api/models/components/payscheduleshow'\nimport { UnprocessableEntityError } from '@gusto/embedded-api/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?: string\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":";;;;;;;;;;;;;;;;;;;AA0BA,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;"}