@gusto/embedded-react-sdk 0.24.0 → 0.25.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 (292) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/assets/icons/slash-circle.svg.js +10 -0
  3. package/dist/assets/icons/slash-circle.svg.js.map +1 -0
  4. package/dist/components/Base/Base.d.ts +1 -1
  5. package/dist/components/Base/Base.js.map +1 -1
  6. package/dist/components/Common/Fields/FileInputField/FileInputField.d.ts +5 -0
  7. package/dist/components/Common/Fields/FileInputField/FileInputField.js +34 -0
  8. package/dist/components/Common/Fields/FileInputField/FileInputField.js.map +1 -0
  9. package/dist/components/Common/Fields/FileInputField/index.d.ts +2 -0
  10. package/dist/components/Common/PaginationControl/PaginationControl.js +41 -40
  11. package/dist/components/Common/PaginationControl/PaginationControl.js.map +1 -1
  12. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -0
  13. package/dist/components/Common/SignatureForm/SignatureFormFields.js +1 -1
  14. package/dist/components/Common/UI/Breadcrumbs/Breadcrumbs.js +1 -1
  15. package/dist/components/Common/UI/FileInput/FileInput.d.ts +2 -0
  16. package/dist/components/Common/UI/FileInput/FileInput.js +151 -0
  17. package/dist/components/Common/UI/FileInput/FileInput.js.map +1 -0
  18. package/dist/components/Common/UI/FileInput/FileInput.module.scss.js +34 -0
  19. package/dist/components/Common/UI/FileInput/FileInput.module.scss.js.map +1 -0
  20. package/dist/components/Common/UI/FileInput/FileInputTypes.d.ts +45 -0
  21. package/dist/components/Common/UI/FileInput/FileInputTypes.js +8 -0
  22. package/dist/components/Common/UI/FileInput/FileInputTypes.js.map +1 -0
  23. package/dist/components/Common/UI/FileInput/index.d.ts +4 -0
  24. package/dist/components/Common/UI/ProgressBar/ProgressBar.js +4 -4
  25. package/dist/components/Common/UI/TextInput/TextInput.js +27 -23
  26. package/dist/components/Common/UI/TextInput/TextInput.js.map +1 -1
  27. package/dist/components/Common/UI/TextInput/TextInputTypes.d.ts +1 -1
  28. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  29. package/dist/components/Company/AssignSignatory/AssignSignatorySelection.js +1 -1
  30. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.js +12 -12
  31. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +4 -3
  32. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  33. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.js +1 -1
  34. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +4 -3
  35. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  36. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +6 -5
  37. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  38. package/dist/components/Company/BankAccount/BankAccountForm/Form.js +1 -1
  39. package/dist/components/Company/BankAccount/BankAccountForm/context.js +4 -3
  40. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  41. package/dist/components/Company/BankAccount/BankAccountVerify/Form.js +1 -1
  42. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  43. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  44. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  45. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  46. package/dist/components/Company/FederalTaxes/Form.js +1 -1
  47. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +9 -8
  48. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  49. package/dist/components/Company/Industry/Context.js +7 -6
  50. package/dist/components/Company/Industry/Context.js.map +1 -1
  51. package/dist/components/Company/Locations/LocationForm/Form.js +1 -1
  52. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +4 -3
  53. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  54. package/dist/components/Company/Locations/LocationsList/List.js +35 -33
  55. package/dist/components/Company/Locations/LocationsList/List.js.map +1 -1
  56. package/dist/components/Company/Locations/LocationsList/LocationsList.js +29 -28
  57. package/dist/components/Company/Locations/LocationsList/LocationsList.js.map +1 -1
  58. package/dist/components/Company/Locations/LocationsList/useLocationsList.d.ts +1 -0
  59. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +4 -3
  60. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  61. package/dist/components/Company/OnboardingOverview/context.js +4 -3
  62. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  63. package/dist/components/Company/PaySchedule/_parts/Edit.js +15 -15
  64. package/dist/components/Company/PaySchedule/usePaySchedule.js +6 -5
  65. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  66. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +4 -3
  67. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  68. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +4 -3
  69. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  70. package/dist/components/Contractor/Address/Form.js +1 -1
  71. package/dist/components/Contractor/Address/useAddress.js +6 -5
  72. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  73. package/dist/components/Contractor/ContractorList/index.js +16 -15
  74. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  75. package/dist/components/Contractor/PaymentMethod/BankAccountForm.js +2 -2
  76. package/dist/components/Contractor/PaymentMethod/PaymentTypeForm.js +1 -1
  77. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +61 -59
  78. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  79. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +24 -22
  80. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  81. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +38 -19
  82. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -1
  83. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +3 -1
  84. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +26 -25
  85. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -1
  86. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +2 -0
  87. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +25 -19
  88. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  89. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +1 -0
  90. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +86 -56
  91. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -1
  92. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +1 -2
  93. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +46 -21
  94. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -1
  95. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +6 -15
  96. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +115 -99
  97. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -1
  98. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.module.scss.js +8 -0
  99. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.module.scss.js.map +1 -0
  100. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.d.ts +8 -0
  101. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js +51 -0
  102. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatement.js.map +1 -0
  103. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.d.ts +11 -0
  104. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js +157 -0
  105. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.js.map +1 -0
  106. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.module.scss.js +22 -0
  107. package/dist/components/Contractor/Payments/PaymentStatement/PaymentStatementPresentation.module.scss.js.map +1 -0
  108. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +40 -43
  109. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -1
  110. package/dist/components/Contractor/Profile/ContractorProfileForm.js +15 -15
  111. package/dist/components/Contractor/Profile/useContractorProfile.js +3 -2
  112. package/dist/components/Contractor/Profile/useContractorProfile.js.map +1 -1
  113. package/dist/components/Employee/Compensation/Edit.js +14 -14
  114. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +10 -9
  115. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  116. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +11 -10
  117. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  118. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +11 -10
  119. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -1
  120. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +4 -3
  121. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  122. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +4 -3
  123. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  124. package/dist/components/Employee/EmployeeList/EmployeeList.js +57 -56
  125. package/dist/components/Employee/EmployeeList/EmployeeList.js.map +1 -1
  126. package/dist/components/Employee/EmployeeList/List.js +34 -32
  127. package/dist/components/Employee/EmployeeList/List.js.map +1 -1
  128. package/dist/components/Employee/EmployeeList/useEmployeeList.d.ts +1 -0
  129. package/dist/components/Employee/EmployeeList/useEmployeeList.js +4 -3
  130. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  131. package/dist/components/Employee/FederalTaxes/FederalForm.js +7 -7
  132. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +4 -3
  133. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  134. package/dist/components/Employee/PaymentMethod/BankAccountEdit.js +2 -2
  135. package/dist/components/Employee/PaymentMethod/PaymentTypeForm.js +1 -1
  136. package/dist/components/Employee/PaymentMethod/Split.js +8 -8
  137. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +6 -5
  138. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  139. package/dist/components/Employee/Profile/AdminPersonalDetails.js +1 -1
  140. package/dist/components/Employee/Profile/HomeAddress.js +1 -1
  141. package/dist/components/Employee/Profile/PersonalDetailsInputs.js +2 -2
  142. package/dist/components/Employee/Profile/useProfile.js +4 -3
  143. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  144. package/dist/components/Employee/StateTaxes/useStateTaxes.js +4 -3
  145. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  146. package/dist/components/Employee/Taxes/FederalForm.js +7 -7
  147. package/dist/components/Employee/Taxes/useTaxes.js +4 -3
  148. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  149. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +9 -9
  150. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +15 -0
  151. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.js +142 -0
  152. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -0
  153. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.module.scss.js +18 -0
  154. package/dist/components/Payroll/InformationRequests/InformationRequestForm/InformationRequestForm.module.scss.js.map +1 -0
  155. package/dist/components/Payroll/InformationRequests/InformationRequestForm/index.d.ts +2 -0
  156. package/dist/components/Payroll/InformationRequests/InformationRequestList/InformationRequestList.d.ts +7 -0
  157. package/dist/components/Payroll/InformationRequests/InformationRequestList/InformationRequestList.js +88 -0
  158. package/dist/components/Payroll/InformationRequests/InformationRequestList/InformationRequestList.js.map +1 -0
  159. package/dist/components/Payroll/InformationRequests/InformationRequestList/index.d.ts +2 -0
  160. package/dist/components/Payroll/InformationRequests/InformationRequests.d.ts +6 -0
  161. package/dist/components/Payroll/InformationRequests/InformationRequests.js +55 -0
  162. package/dist/components/Payroll/InformationRequests/InformationRequests.js.map +1 -0
  163. package/dist/components/Payroll/InformationRequests/InformationRequestsComponents.d.ts +19 -0
  164. package/dist/components/Payroll/InformationRequests/InformationRequestsComponents.js +20 -0
  165. package/dist/components/Payroll/InformationRequests/InformationRequestsComponents.js.map +1 -0
  166. package/dist/components/Payroll/InformationRequests/index.d.ts +3 -0
  167. package/dist/components/Payroll/InformationRequests/informationRequestsStateMachine.d.ts +13 -0
  168. package/dist/components/Payroll/InformationRequests/informationRequestsStateMachine.js +47 -0
  169. package/dist/components/Payroll/InformationRequests/informationRequestsStateMachine.js.map +1 -0
  170. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +116 -130
  171. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  172. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +5 -2
  173. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js +107 -99
  174. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  175. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.module.scss.js +2 -4
  176. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.module.scss.js.map +1 -1
  177. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +21 -0
  178. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +105 -0
  179. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -0
  180. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +41 -37
  181. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  182. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.d.ts +5 -4
  183. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js +137 -131
  184. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  185. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js +16 -15
  186. package/dist/components/Payroll/PayrollEditEmployee/TimeOffField.js.map +1 -1
  187. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.d.ts +2 -0
  188. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +174 -106
  189. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  190. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +28 -28
  191. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  192. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +2 -2
  193. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +85 -104
  194. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  195. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js +24 -20
  196. package/dist/components/Payroll/PayrollLanding/PayrollLanding.js.map +1 -1
  197. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.d.ts +2 -0
  198. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js +51 -46
  199. package/dist/components/Payroll/PayrollLanding/PayrollLandingFlowComponents.js.map +1 -1
  200. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.d.ts +2 -0
  201. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js +111 -45
  202. package/dist/components/Payroll/PayrollLanding/payrollLandingStateMachine.js.map +1 -1
  203. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +136 -125
  204. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  205. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js +8 -4
  206. package/dist/components/Payroll/PayrollList/PayrollListPresentation.module.scss.js.map +1 -1
  207. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +117 -110
  208. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  209. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +4 -2
  210. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +282 -278
  211. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  212. package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.d.ts +6 -0
  213. package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.js +5 -0
  214. package/dist/components/Payroll/PayrollOverview/PayrollOverviewTypes.js.map +1 -0
  215. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +6 -0
  216. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js +55 -0
  217. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -0
  218. package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.d.ts +19 -0
  219. package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.js +19 -0
  220. package/dist/components/Payroll/RecoveryCases/RecoveryCasesComponents.js.map +1 -0
  221. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.d.ts +7 -0
  222. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js +73 -0
  223. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.js.map +1 -0
  224. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.module.scss.js +10 -0
  225. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/RecoveryCasesList.module.scss.js.map +1 -0
  226. package/dist/components/Payroll/RecoveryCases/RecoveryCasesList/index.d.ts +2 -0
  227. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.d.ts +14 -0
  228. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js +46 -0
  229. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/RecoveryCasesResubmit.js.map +1 -0
  230. package/dist/components/Payroll/RecoveryCases/RecoveryCasesResubmit/index.d.ts +2 -0
  231. package/dist/components/Payroll/RecoveryCases/index.d.ts +3 -0
  232. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.d.ts +13 -0
  233. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js +47 -0
  234. package/dist/components/Payroll/RecoveryCases/recoveryCasesStateMachine.js.map +1 -0
  235. package/dist/components/Payroll/helpers.d.ts +12 -0
  236. package/dist/components/Payroll/helpers.js +129 -117
  237. package/dist/components/Payroll/helpers.js.map +1 -1
  238. package/dist/components/Payroll/index.d.ts +2 -0
  239. package/dist/components/Payroll/index.js +18 -14
  240. package/dist/components/Payroll/index.js.map +1 -1
  241. package/dist/components/Payroll/usePreparedPayrollData.d.ts +4 -1
  242. package/dist/components/Payroll/usePreparedPayrollData.js +43 -31
  243. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  244. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +27 -25
  245. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  246. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +1 -0
  247. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
  248. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +17 -15
  249. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  250. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +2 -0
  251. package/dist/contexts/ComponentAdapter/useComponentContext.js +3 -3
  252. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  253. package/dist/helpers/dateFormatting.d.ts +1 -0
  254. package/dist/helpers/dateFormatting.js +1 -0
  255. package/dist/helpers/dateFormatting.js.map +1 -1
  256. package/dist/helpers/formattedStrings.d.ts +1 -0
  257. package/dist/helpers/formattedStrings.js +23 -18
  258. package/dist/helpers/formattedStrings.js.map +1 -1
  259. package/dist/helpers/responsive.js +1 -1
  260. package/dist/helpers/responsive.js.map +1 -1
  261. package/dist/i18n/I18n.js +3 -3
  262. package/dist/i18n/I18n.js.map +1 -1
  263. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +36 -32
  264. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js.map +1 -1
  265. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +11 -11
  266. package/dist/i18n/en/Contractor.Payments.PaymentStatement.json.js +28 -0
  267. package/dist/i18n/en/Contractor.Payments.PaymentStatement.json.js.map +1 -0
  268. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js +14 -14
  269. package/dist/i18n/en/Payroll.InformationRequestForm.json.js +18 -0
  270. package/dist/i18n/en/Payroll.InformationRequestForm.json.js.map +1 -0
  271. package/dist/i18n/en/Payroll.InformationRequestList.json.js +18 -0
  272. package/dist/i18n/en/Payroll.InformationRequestList.json.js.map +1 -0
  273. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +27 -21
  274. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js.map +1 -1
  275. package/dist/i18n/en/Payroll.PayrollHistory.json.js +6 -6
  276. package/dist/i18n/en/Payroll.PayrollLanding.json.js +5 -3
  277. package/dist/i18n/en/Payroll.PayrollLanding.json.js.map +1 -1
  278. package/dist/i18n/en/Payroll.PayrollOverview.json.js +32 -28
  279. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  280. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js +14 -0
  281. package/dist/i18n/en/Payroll.RecoveryCasesList.json.js.map +1 -0
  282. package/dist/i18n/en/Payroll.RecoveryCasesResubmit.json.js +8 -0
  283. package/dist/i18n/en/Payroll.RecoveryCasesResubmit.json.js.map +1 -0
  284. package/dist/i18n/en/common.json.d.ts +6 -0
  285. package/dist/i18n/en/common.json.js +4 -2
  286. package/dist/i18n/en/common.json.js.map +1 -1
  287. package/dist/shared/constants.d.ts +25 -1
  288. package/dist/shared/constants.js +72 -55
  289. package/dist/shared/constants.js.map +1 -1
  290. package/dist/style.css +1 -1
  291. package/dist/types/i18next.d.ts +120 -3
  292. package/package.json +31 -20
@@ -2,11 +2,11 @@ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
2
  import { useTranslation as d } from "react-i18next";
3
3
  import { useContractorsDeleteMutation as w } from "@gusto/embedded-api/react-query/contractorsDelete";
4
4
  import { useContractors as H } from "./useContractorList.js";
5
- import { Flex as p } from "../../Common/Flex/Flex.js";
5
+ import { Flex as f } from "../../Common/Flex/Flex.js";
6
6
  import "classnames";
7
7
  import { CONTRACTOR_TYPE as k, componentEvents as m } from "../../../shared/constants.js";
8
8
  import { EmptyData as U } from "../../Common/EmptyData/EmptyData.js";
9
- import { ActionsLayout as f } from "../../Common/ActionsLayout/ActionsLayout.js";
9
+ import { ActionsLayout as h } from "../../Common/ActionsLayout/ActionsLayout.js";
10
10
  import { HamburgerMenu as j } from "../../Common/HamburgerMenu/HamburgerMenu.js";
11
11
  import { firstLastName as M } from "../../../helpers/formattedStrings.js";
12
12
  import V from "../../../assets/icons/pencil.svg.js";
@@ -20,23 +20,23 @@ import { useDataView as J } from "../../Common/DataView/useDataView.js";
20
20
  import { DataView as K } from "../../Common/DataView/DataView.js";
21
21
  function Q({ count: o, handleAdd: a }) {
22
22
  const { Button: r, Heading: i } = u(), { t: n } = d("Contractor.ContractorList");
23
- return /* @__PURE__ */ l(p, { alignItems: "center", justifyContent: "space-between", children: [
23
+ return /* @__PURE__ */ l(f, { alignItems: "center", justifyContent: "space-between", children: [
24
24
  /* @__PURE__ */ t(i, { as: "h2", children: n("title") }),
25
25
  o !== 0 && /* @__PURE__ */ t(r, { variant: "secondary", onClick: a, children: n("addAnotherCta") })
26
26
  ] });
27
27
  }
28
28
  function W({ handleAdd: o }) {
29
29
  const { Button: a } = u(), { t: r } = d("Contractor.ContractorList");
30
- return /* @__PURE__ */ t(U, { title: r("emptyTableTitle"), description: r("emptyTableDescription"), children: /* @__PURE__ */ t(f, { justifyContent: "center", children: /* @__PURE__ */ t(a, { onClick: o, children: r("addContractorCta") }) }) });
30
+ return /* @__PURE__ */ t(U, { title: r("emptyTableTitle"), description: r("emptyTableDescription"), children: /* @__PURE__ */ t(h, { justifyContent: "center", children: /* @__PURE__ */ t(a, { onClick: o, children: r("addContractorCta") }) }) });
31
31
  }
32
32
  function Tt(o) {
33
33
  return /* @__PURE__ */ t(G, { ...o, children: /* @__PURE__ */ t(X, { ...o, children: o.children }) });
34
34
  }
35
35
  function X({ companyId: o, className: a, dictionary: r, successMessage: i }) {
36
36
  q("Contractor.ContractorList");
37
- const { t: n } = d("Contractor.ContractorList"), { onEvent: s, baseSubmitHandler: h } = Y(), { Alert: g, Button: T } = u(), {
38
- contractors: P,
39
- totalCount: L,
37
+ const { t: n } = d("Contractor.ContractorList"), { onEvent: s, baseSubmitHandler: g } = Y(), { Alert: T, Button: P } = u(), {
38
+ contractors: L,
39
+ totalCount: C,
40
40
  handleNextPage: N,
41
41
  handleFirstPage: b,
42
42
  handleLastPage: y,
@@ -62,7 +62,7 @@ function X({ companyId: o, className: a, dictionary: r, successMessage: i }) {
62
62
  )
63
63
  }
64
64
  ],
65
- data: P,
65
+ data: L,
66
66
  itemMenu: (e) => /* @__PURE__ */ t(
67
67
  j,
68
68
  {
@@ -86,7 +86,7 @@ function X({ companyId: o, className: a, dictionary: r, successMessage: i }) {
86
86
  isLoading: I
87
87
  }
88
88
  ),
89
- emptyState: () => /* @__PURE__ */ t(W, { handleAdd: C }),
89
+ emptyState: () => /* @__PURE__ */ t(W, { handleAdd: p }),
90
90
  pagination: {
91
91
  handleNextPage: N,
92
92
  handleFirstPage: b,
@@ -95,27 +95,28 @@ function X({ companyId: o, className: a, dictionary: r, successMessage: i }) {
95
95
  handleItemsPerPageChange: O,
96
96
  currentPage: A,
97
97
  totalPages: D,
98
+ totalCount: C,
98
99
  itemsPerPage: R
99
100
  }
100
- }), C = () => {
101
+ }), p = () => {
101
102
  s(m.CONTRACTOR_CREATE);
102
103
  }, _ = (e) => {
103
104
  s(m.CONTRACTOR_UPDATE, { contractorId: e });
104
105
  }, v = () => {
105
106
  s(m.CONTRACTOR_ONBOARDING_CONTINUE);
106
107
  }, x = async (e) => {
107
- await h(e, async (c) => {
108
+ await g(e, async (c) => {
108
109
  await B({
109
110
  request: { contractorUuid: c }
110
111
  }), s(m.CONTRACTOR_DELETED, { contractorId: c });
111
112
  });
112
113
  };
113
114
  return /* @__PURE__ */ l("section", { className: a, children: [
114
- i && /* @__PURE__ */ t(g, { label: i, status: "success" }),
115
- /* @__PURE__ */ l(p, { flexDirection: "column", children: [
116
- /* @__PURE__ */ t(Q, { count: L, handleAdd: C }),
115
+ i && /* @__PURE__ */ t(T, { label: i, status: "success" }),
116
+ /* @__PURE__ */ l(f, { flexDirection: "column", children: [
117
+ /* @__PURE__ */ t(Q, { count: C, handleAdd: p }),
117
118
  /* @__PURE__ */ t(K, { label: n("contractorListLabel"), ...S }),
118
- /* @__PURE__ */ t(f, { children: /* @__PURE__ */ t(T, { onClick: v, isLoading: !1, children: n("continueCta") }) })
119
+ /* @__PURE__ */ t(h, { children: /* @__PURE__ */ t(P, { onClick: v, isLoading: !1, children: n("continueCta") }) })
119
120
  ] })
120
121
  ] });
121
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCta')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCta')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n companyId: string\n successMessage?: string\n}\n\nexport function ContractorList(props: ContractorListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCta')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","itemsPerPage","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Contractor/ContractorList/index.tsx"],"sourcesContent":["import { type Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport { useTranslation } from 'react-i18next'\nimport { useContractorsDeleteMutation } from '@gusto/embedded-api/react-query/contractorsDelete'\nimport { useContractors } from './useContractorList'\nimport { ActionsLayout, DataView, EmptyData, Flex, useDataView } from '@/components/Common'\nimport { firstLastName } from '@/helpers/formattedStrings'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu/HamburgerMenu'\nimport PencilSvg from '@/assets/icons/pencil.svg?react'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { ContractorOnboardingStatusBadge } from '@/components/Common/OnboardingStatusBadge'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, CONTRACTOR_TYPE } from '@/shared/constants'\nimport TrashCanSvg from '@/assets/icons/trashcan.svg?react'\n\nexport interface HeadProps {\n count: number\n handleAdd: () => void\n}\nexport function Head({ count, handleAdd }: HeadProps) {\n const { Button, Heading } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <Flex alignItems=\"center\" justifyContent=\"space-between\">\n <Heading as=\"h2\">{t('title')}</Heading>\n\n {count !== 0 && (\n <Button variant=\"secondary\" onClick={handleAdd}>\n {t('addAnotherCta')}\n </Button>\n )}\n </Flex>\n )\n}\n\nexport interface EmptyDataContractorsListProps {\n handleAdd: () => void\n}\nexport function EmptyDataContractorsList({ handleAdd }: EmptyDataContractorsListProps) {\n const { Button } = useComponentContext()\n const { t } = useTranslation('Contractor.ContractorList')\n\n return (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button onClick={handleAdd}>{t('addContractorCta')}</Button>\n </ActionsLayout>\n </EmptyData>\n )\n}\n\nexport interface ContractorListProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n companyId: string\n successMessage?: string\n}\n\nexport function ContractorList(props: ContractorListProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nfunction Root({ companyId, className, dictionary, successMessage }: ContractorListProps) {\n useI18n('Contractor.ContractorList')\n const { t } = useTranslation('Contractor.ContractorList')\n const { onEvent, baseSubmitHandler } = useBase()\n const { Alert, Button } = useComponentContext()\n const {\n contractors,\n totalCount,\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n itemsPerPage,\n } = useContractors({ companyUuid: companyId })\n const { mutateAsync: deleteContractorMutation, isPending: isPendingDelete } =\n useContractorsDeleteMutation()\n\n const dataViewProps = useDataView<Contractor>({\n columns: [\n {\n title: t('listHeaders.name'),\n render: contractor =>\n contractor.type === CONTRACTOR_TYPE.BUSINESS\n ? contractor.businessName\n : firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName }),\n },\n {\n title: t('listHeaders.status'),\n render: ({ onboarded, onboardingStatus }) => (\n <ContractorOnboardingStatusBadge\n onboarded={onboarded}\n onboardingStatus={onboardingStatus}\n />\n ),\n },\n ],\n data: contractors,\n itemMenu: contractor => (\n <HamburgerMenu\n items={[\n {\n label: t('editCta'),\n icon: <PencilSvg aria-hidden />,\n onClick: () => {\n handleEdit(contractor.uuid)\n },\n },\n {\n label: t('deleteCta'),\n icon: <TrashCanSvg aria-hidden />,\n onClick: () => {\n void handleDelete(contractor.uuid)\n },\n },\n ]}\n triggerLabel={t('editCta')}\n isLoading={isPendingDelete}\n />\n ),\n emptyState: () => <EmptyDataContractorsList handleAdd={handleAdd} />,\n pagination: {\n handleNextPage,\n handleFirstPage,\n handleLastPage,\n handlePreviousPage,\n handleItemsPerPageChange,\n currentPage,\n totalPages,\n totalCount,\n itemsPerPage,\n },\n })\n\n const handleAdd = () => {\n onEvent(componentEvents.CONTRACTOR_CREATE)\n }\n\n const handleEdit = (uuid: string) => {\n onEvent(componentEvents.CONTRACTOR_UPDATE, { contractorId: uuid })\n }\n\n const handleContinue = () => {\n onEvent(componentEvents.CONTRACTOR_ONBOARDING_CONTINUE)\n }\n\n const handleDelete = async (uuid: string) => {\n await baseSubmitHandler(uuid, async payload => {\n await deleteContractorMutation({\n request: { contractorUuid: payload },\n })\n\n onEvent(componentEvents.CONTRACTOR_DELETED, { contractorId: payload })\n })\n }\n\n return (\n <section className={className}>\n {successMessage && <Alert label={successMessage} status=\"success\" />}\n <Flex flexDirection=\"column\">\n <Head count={totalCount} handleAdd={handleAdd} />\n <DataView label={t('contractorListLabel')} {...dataViewProps} />\n <ActionsLayout>\n <Button onClick={handleContinue} isLoading={false}>\n {t('continueCta')}\n </Button>\n </ActionsLayout>\n </Flex>\n </section>\n )\n}\n"],"names":["Head","count","handleAdd","Button","Heading","useComponentContext","t","useTranslation","jsxs","Flex","jsx","EmptyDataContractorsList","EmptyData","ActionsLayout","ContractorList","props","BaseComponent","Root","companyId","className","dictionary","successMessage","useI18n","onEvent","baseSubmitHandler","useBase","Alert","contractors","totalCount","handleNextPage","handleFirstPage","handleLastPage","handlePreviousPage","handleItemsPerPageChange","currentPage","totalPages","itemsPerPage","useContractors","deleteContractorMutation","isPendingDelete","useContractorsDeleteMutation","dataViewProps","useDataView","contractor","CONTRACTOR_TYPE","firstLastName","onboarded","onboardingStatus","ContractorOnboardingStatusBadge","HamburgerMenu","PencilSvg","handleEdit","TrashCanSvg","handleDelete","componentEvents","uuid","handleContinue","payload","DataView"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { jsxs as a, Fragment as t, jsx as r } from "react/jsx-runtime";
2
2
  import { useTranslation as n } from "react-i18next";
3
3
  import "../../../shared/constants.js";
4
4
  import "classnames";
5
- import { RadioGroupField as i } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
6
- import { TextInputField as o } from "../../Common/Fields/TextInputField/TextInputField.js";
7
5
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
8
6
  import "react";
7
+ import { TextInputField as o } from "../../Common/Fields/TextInputField/TextInputField.js";
8
+ import { RadioGroupField as i } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
9
9
  function N({ bankAccount: u }) {
10
10
  const { t: e } = n("Contractor.PaymentMethod", { keyPrefix: "bankAccountForm" });
11
11
  return /* @__PURE__ */ a(t, { children: [
@@ -3,9 +3,9 @@ import { useTranslation as r } from "react-i18next";
3
3
  import { z as t } from "zod";
4
4
  import { PAYMENT_METHODS as o } from "../../../shared/constants.js";
5
5
  import "classnames";
6
- import { RadioGroupField as p } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
7
6
  import "../../../contexts/ComponentAdapter/useComponentContext.js";
8
7
  import "react";
8
+ import { RadioGroupField as p } from "../../Common/Fields/RadioGroupField/RadioGroupField.js";
9
9
  t.object({
10
10
  type: t.enum(["Check", "Direct Deposit"])
11
11
  });
@@ -1,34 +1,35 @@
1
- import { jsx as d, jsxs as B, Fragment as L } from "react/jsx-runtime";
2
- import { useContractorsListSuspense as H } from "@gusto/embedded-api/react-query/contractorsList";
3
- import { useContractorPaymentGroupsCreateMutation as I } from "@gusto/embedded-api/react-query/contractorPaymentGroupsCreate";
4
- import { useContractorPaymentGroupsPreviewMutation as Y } from "@gusto/embedded-api/react-query/contractorPaymentGroupsPreview";
5
- import { useState as l, useMemo as A } from "react";
1
+ import { jsx as p, jsxs as H, Fragment as Y } from "react/jsx-runtime";
2
+ import { useContractorsListSuspense as q } from "@gusto/embedded-api/react-query/contractorsList";
3
+ import { useContractorPaymentGroupsCreateMutation as x } from "@gusto/embedded-api/react-query/contractorPaymentGroupsCreate";
4
+ import { useContractorPaymentGroupsPreviewMutation as F } from "@gusto/embedded-api/react-query/contractorPaymentGroupsPreview";
5
+ import { useState as l, useMemo as R } from "react";
6
6
  import { RFCDate as N } from "@gusto/embedded-api/types/rfcdate";
7
- import { useForm as q } from "react-hook-form";
8
- import { zodResolver as x } from "@hookform/resolvers/zod";
9
- import { useTranslation as F } from "react-i18next";
10
- import { CreatePaymentPresentation as V } from "./CreatePaymentPresentation.js";
11
- import { EditContractorPaymentFormSchema as j, EditContractorPaymentPresentation as W } from "./EditContractorPaymentPresentation.js";
12
- import { PreviewPresentation as z } from "./PreviewPresentation.js";
13
- import { useComponentDictionary as K } from "../../../../i18n/I18n.js";
14
- import { BaseComponent as J } from "../../../Base/Base.js";
15
- import { useBase as Q } from "../../../Base/useBase.js";
16
- import { ContractorOnboardingStatus as X, componentEvents as y } from "../../../../shared/constants.js";
17
- import { firstLastName as Z } from "../../../../helpers/formattedStrings.js";
18
- function gt(a) {
19
- return /* @__PURE__ */ d(J, { ...a, children: /* @__PURE__ */ d($, { ...a, children: a.children }) });
7
+ import { useForm as I } from "react-hook-form";
8
+ import { zodResolver as V } from "@hookform/resolvers/zod";
9
+ import { useTranslation as j } from "react-i18next";
10
+ import { useBankAccountsGet as W } from "@gusto/embedded-api/react-query/bankAccountsGet";
11
+ import { CreatePaymentPresentation as z } from "./CreatePaymentPresentation.js";
12
+ import { EditContractorPaymentFormSchema as K, EditContractorPaymentPresentation as J } from "./EditContractorPaymentPresentation.js";
13
+ import { PreviewPresentation as Q } from "./PreviewPresentation.js";
14
+ import { useComponentDictionary as X } from "../../../../i18n/I18n.js";
15
+ import { BaseComponent as Z } from "../../../Base/Base.js";
16
+ import { useBase as $ } from "../../../Base/useBase.js";
17
+ import { ContractorOnboardingStatus as tt, componentEvents as y } from "../../../../shared/constants.js";
18
+ import { firstLastName as et } from "../../../../helpers/formattedStrings.js";
19
+ function Nt(s) {
20
+ return /* @__PURE__ */ p(Z, { ...s, children: /* @__PURE__ */ p(ot, { ...s, children: s.children }) });
20
21
  }
21
- const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
22
- K("Contractor.Payments.CreatePayment", E);
23
- const { t: T } = F("Contractor.Payments.CreatePayment"), [M, p] = l(!1), [P, O] = l(
22
+ const ot = ({ companyId: s, dictionary: E, onEvent: u }) => {
23
+ X("Contractor.Payments.CreatePayment", E);
24
+ const { t: T } = j("Contractor.Payments.CreatePayment"), [M, d] = l(!1), [P, O] = l(
24
25
  (/* @__PURE__ */ new Date()).toISOString().split("T")[0] || ""
25
- ), { baseSubmitHandler: h } = Q(), [b, i] = l({}), [m, w] = l(null), { mutateAsync: _, isPending: g } = I(), {
26
- mutateAsync: v,
27
- isPending: D
28
- } = Y(), { data: G } = H({ companyUuid: a }), s = (G.contractorList || []).filter(
29
- (t) => t.isActive && t.onboardingStatus === X.ONBOARDING_COMPLETED
30
- ), S = A(
31
- () => s.map((t) => ({
26
+ ), { baseSubmitHandler: h } = $(), [b, i] = l({}), [m, w] = l(null), { mutateAsync: _, isPending: g } = x(), {
27
+ mutateAsync: G,
28
+ isPending: A
29
+ } = F(), { data: k } = q({ companyUuid: s }), a = (k.contractorList || []).filter(
30
+ (t) => t.isActive && t.onboardingStatus === tt.ONBOARDING_COMPLETED
31
+ ), { data: v } = W({ companyId: s }), S = v?.companyBankAccounts?.[0], U = R(
32
+ () => a.map((t) => ({
32
33
  contractorUuid: t.uuid,
33
34
  paymentMethod: t.paymentMethod || "Direct Deposit",
34
35
  wage: 0,
@@ -37,11 +38,11 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
37
38
  reimbursement: 0,
38
39
  isTouched: !1
39
40
  })),
40
- [s]
41
- ), [c, U] = l(S), k = A(
41
+ [a]
42
+ ), [c, B] = l(U), L = R(
42
43
  () => c.reduce(
43
44
  (t, e) => {
44
- const o = s.find((f) => f.uuid === e.contractorUuid), r = o?.wageType === "Hourly", n = r ? (e.hours || 0) * Number(o.hourlyRate || 0) : 0, C = r ? 0 : e.wage || 0;
45
+ const o = a.find((f) => f.uuid === e.contractorUuid), r = o?.wageType === "Hourly", n = r ? (e.hours || 0) * Number(o.hourlyRate || 0) : 0, C = r ? 0 : e.wage || 0;
45
46
  return {
46
47
  wage: t.wage + C,
47
48
  bonus: t.bonus + (e.bonus || 0),
@@ -51,9 +52,9 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
51
52
  },
52
53
  { wage: 0, bonus: 0, reimbursement: 0, total: 0 }
53
54
  ),
54
- [c, s]
55
- ), R = q({
56
- resolver: x(j),
55
+ [c, a]
56
+ ), D = I({
57
+ resolver: V(K),
57
58
  defaultValues: {
58
59
  wageType: "Hourly",
59
60
  hours: 0,
@@ -65,12 +66,12 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
65
66
  contractorUuid: ""
66
67
  }
67
68
  });
68
- return /* @__PURE__ */ B(L, { children: [
69
- m && /* @__PURE__ */ d(
70
- z,
69
+ return /* @__PURE__ */ H(Y, { children: [
70
+ m && /* @__PURE__ */ p(
71
+ Q,
71
72
  {
72
73
  contractorPaymentGroup: m,
73
- contractors: s,
74
+ contractors: a,
74
75
  onBackToEdit: () => {
75
76
  w(null), u(y.CONTRACTOR_PAYMENT_BACK_TO_EDIT);
76
77
  },
@@ -81,7 +82,7 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
81
82
  return;
82
83
  const e = m.creationToken, o = await _({
83
84
  request: {
84
- companyId: a,
85
+ companyId: s,
85
86
  requestBody: {
86
87
  checkDate: new N(P),
87
88
  contractorPayments: t,
@@ -92,13 +93,14 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
92
93
  i({}), u(y.CONTRACTOR_PAYMENT_CREATED, o.contractorPaymentGroup || {});
93
94
  });
94
95
  },
95
- isLoading: g || D
96
+ isLoading: g || A,
97
+ bankAccount: S
96
98
  }
97
99
  ),
98
- !m && /* @__PURE__ */ d(
99
- V,
100
+ !m && /* @__PURE__ */ p(
101
+ z,
100
102
  {
101
- contractors: s,
103
+ contractors: a,
102
104
  contractorPayments: c,
103
105
  paymentDate: P,
104
106
  onPaymentDateChange: O,
@@ -116,9 +118,9 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
116
118
  return;
117
119
  }
118
120
  i({});
119
- const e = await v({
121
+ const e = await G({
120
122
  request: {
121
- companyId: a,
123
+ companyId: s,
122
124
  requestBody: {
123
125
  contractorPayments: t.map((o) => {
124
126
  const { isTouched: r, ...n } = o;
@@ -132,10 +134,10 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
132
134
  });
133
135
  },
134
136
  onEditContractor: (t) => {
135
- const e = s.find((r) => r.uuid === t), o = c.find(
137
+ const e = a.find((r) => r.uuid === t), o = c.find(
136
138
  (r) => r.contractorUuid === t
137
139
  );
138
- R.reset(
140
+ D.reset(
139
141
  {
140
142
  wageType: e?.wageType || "Hourly",
141
143
  hours: o?.hours || 0,
@@ -147,23 +149,23 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
147
149
  contractorUuid: t
148
150
  },
149
151
  { keepDirty: !1, keepValues: !1 }
150
- ), i({}), p(!0), u(y.CONTRACTOR_PAYMENT_EDIT);
152
+ ), i({}), d(!0), u(y.CONTRACTOR_PAYMENT_EDIT);
151
153
  },
152
- totals: k,
154
+ totals: L,
153
155
  alerts: b,
154
- isLoading: g || D
156
+ isLoading: g || A
155
157
  }
156
158
  ),
157
- /* @__PURE__ */ d(
158
- W,
159
+ /* @__PURE__ */ p(
160
+ J,
159
161
  {
160
162
  isOpen: M,
161
163
  onClose: () => {
162
- p(!1);
164
+ d(!1);
163
165
  },
164
- formMethods: R,
166
+ formMethods: D,
165
167
  onSubmit: (t) => {
166
- U(
168
+ B(
167
169
  (r) => r.map(
168
170
  (n) => n.contractorUuid === t.contractorUuid ? {
169
171
  contractorUuid: n.contractorUuid,
@@ -176,7 +178,7 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
176
178
  } : n
177
179
  )
178
180
  );
179
- const e = s.find((r) => r.uuid === t.contractorUuid), o = e?.type === "Individual" ? Z({ first_name: e.firstName, last_name: e.lastName }) : e?.businessName;
181
+ const e = a.find((r) => r.uuid === t.contractorUuid), o = e?.type === "Individual" ? et({ first_name: e.firstName, last_name: e.lastName }) : e?.businessName;
180
182
  i((r) => ({
181
183
  ...r,
182
184
  [t.contractorUuid]: {
@@ -191,14 +193,14 @@ const $ = ({ companyId: a, dictionary: E, onEvent: u }) => {
191
193
  });
192
194
  }
193
195
  }
194
- })), p(!1), u(y.CONTRACTOR_PAYMENT_UPDATE, t);
196
+ })), d(!1), u(y.CONTRACTOR_PAYMENT_UPDATE, t);
195
197
  }
196
198
  }
197
199
  )
198
200
  ] });
199
201
  };
200
202
  export {
201
- gt as CreatePayment,
202
- $ as Root
203
+ Nt as CreatePayment,
204
+ ot as Root
203
205
  };
204
206
  //# sourceMappingURL=CreatePayment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePayment.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePayment.tsx"],"sourcesContent":["import { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useContractorPaymentGroupsCreateMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsCreate'\nimport type { ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useContractorPaymentGroupsPreviewMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsPreview'\nimport { useMemo, useState } from 'react'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroupPreview } from '@gusto/embedded-api/models/components/contractorpaymentgrouppreview'\nimport type { InternalAlert } from '../types'\nimport { CreatePaymentPresentation } from './CreatePaymentPresentation'\nimport {\n EditContractorPaymentPresentation,\n EditContractorPaymentFormSchema,\n type EditContractorPaymentFormValues,\n} from './EditContractorPaymentPresentation'\nimport { PreviewPresentation } from './PreviewPresentation'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\ninterface CreatePaymentProps extends BaseComponentInterface<'Contractor.Payments.CreatePayment'> {\n companyId: string\n}\n\nexport function CreatePayment(props: CreatePaymentProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ companyId, dictionary, onEvent }: CreatePaymentProps) => {\n useComponentDictionary('Contractor.Payments.CreatePayment', dictionary)\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [paymentDate, setPaymentDate] = useState<string>(\n new Date().toISOString().split('T')[0] || '',\n )\n const { baseSubmitHandler } = useBase()\n const [alerts, setAlerts] = useState<Record<string, InternalAlert>>({})\n const [previewData, setPreviewData] = useState<ContractorPaymentGroupPreview | null>(null)\n\n const { mutateAsync: createContractorPaymentGroup, isPending: isCreatingContractorPaymentGroup } =\n useContractorPaymentGroupsCreateMutation()\n const {\n mutateAsync: previewContractorPaymentGroup,\n isPending: isPreviewingContractorPaymentGroup,\n } = useContractorPaymentGroupsPreviewMutation()\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractorList || []).filter(\n contractor =>\n contractor.isActive &&\n contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n )\n const initialContractorPayments: (ContractorPayments & { isTouched: boolean })[] = useMemo(\n () =>\n contractors.map(contractor => ({\n contractorUuid: contractor.uuid,\n paymentMethod: contractor.paymentMethod || 'Direct Deposit',\n wage: 0,\n hours: 0,\n bonus: 0,\n reimbursement: 0,\n isTouched: false,\n })),\n [contractors],\n )\n const [virtualContractorPayments, setVirtualContractorPayments] =\n useState<(ContractorPayments & { isTouched: boolean })[]>(initialContractorPayments)\n const totals = useMemo(\n () =>\n virtualContractorPayments.reduce<{\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }>(\n (acc, payment) => {\n const contractor = contractors.find(c => c.uuid === payment.contractorUuid)\n const isHourly = contractor?.wageType === 'Hourly'\n const hourlyAmount = isHourly\n ? (payment.hours || 0) * Number(contractor.hourlyRate || 0)\n : 0\n const fixedWage = isHourly ? 0 : payment.wage || 0\n\n return {\n wage: acc.wage + fixedWage,\n bonus: acc.bonus + (payment.bonus || 0),\n reimbursement: acc.reimbursement + (payment.reimbursement || 0),\n total:\n acc.total +\n hourlyAmount +\n fixedWage +\n (payment.bonus || 0) +\n (payment.reimbursement || 0),\n }\n },\n { wage: 0, bonus: 0, reimbursement: 0, total: 0 },\n ),\n [virtualContractorPayments, contractors],\n )\n\n const formMethods = useForm<EditContractorPaymentFormValues>({\n resolver: zodResolver(EditContractorPaymentFormSchema),\n defaultValues: {\n wageType: 'Hourly',\n hours: 0,\n wage: 0,\n bonus: 0,\n reimbursement: 0,\n paymentMethod: 'Direct Deposit',\n hourlyRate: 0,\n contractorUuid: '',\n },\n })\n\n const onCreatePaymentGroup = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0 || !previewData?.creationToken) {\n return\n }\n const creationToken = previewData.creationToken\n const response = await createContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n checkDate: new RFCDate(paymentDate),\n contractorPayments: contractorPayments,\n creationToken,\n },\n },\n })\n setAlerts({})\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATED, response.contractorPaymentGroup || {})\n })\n }\n const onEditContractor = (contractorUuid: string) => {\n const contractor = contractors.find(contractor => contractor.uuid === contractorUuid)\n const contractorPayment = virtualContractorPayments.find(\n payment => payment.contractorUuid === contractorUuid,\n )\n formMethods.reset(\n {\n wageType: contractor?.wageType || 'Hourly',\n hours: contractorPayment?.hours || 0,\n wage: contractorPayment?.wage || 0,\n bonus: contractorPayment?.bonus || 0,\n reimbursement: contractorPayment?.reimbursement || 0,\n paymentMethod: contractorPayment?.paymentMethod || 'Direct Deposit',\n hourlyRate: contractor?.hourlyRate ? Number(contractor.hourlyRate) : 0,\n contractorUuid: contractorUuid,\n },\n { keepDirty: false, keepValues: false },\n )\n setAlerts({})\n setIsModalOpen(true)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EDIT)\n }\n\n const onEditContractorSubmit = (data: EditContractorPaymentFormValues) => {\n setVirtualContractorPayments(prevPayments =>\n prevPayments.map(payment =>\n payment.contractorUuid === data.contractorUuid\n ? {\n contractorUuid: payment.contractorUuid,\n wage: data.wage,\n hours: data.hours,\n bonus: data.bonus,\n reimbursement: data.reimbursement,\n paymentMethod: data.paymentMethod,\n isTouched: true,\n }\n : payment,\n ),\n )\n const contractor = contractors.find(contractor => contractor.uuid === data.contractorUuid)\n const displayName =\n contractor?.type === 'Individual'\n ? firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n : contractor?.businessName\n setAlerts(prevAlerts => ({\n ...prevAlerts,\n [data.contractorUuid]: {\n type: 'success',\n title: t('alerts.contractorPaymentUpdated', {\n contractorName: displayName,\n }),\n onDismiss: () => {\n setAlerts(prevAlerts => {\n const { [data.contractorUuid]: _, ...rest } = prevAlerts\n return rest\n })\n },\n },\n }))\n setIsModalOpen(false)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_UPDATE, data)\n }\n\n const onContinueToPreview = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0) {\n setAlerts({\n ...alerts,\n error: {\n type: 'error',\n title: t('alerts.noContractorPayments'),\n },\n })\n return\n }\n setAlerts({})\n const response = await previewContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n contractorPayments: contractorPayments.map(payment => {\n const { isTouched, ...rest } = payment\n return rest\n }),\n checkDate: new RFCDate(paymentDate),\n },\n },\n })\n\n setPreviewData(response.contractorPaymentGroupPreview || null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_PREVIEW, response.contractorPaymentGroupPreview)\n })\n }\n const onBackToEdit = () => {\n setPreviewData(null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_BACK_TO_EDIT)\n }\n\n return (\n <>\n {previewData && (\n <PreviewPresentation\n contractorPaymentGroup={previewData}\n contractors={contractors}\n onBackToEdit={onBackToEdit}\n onSubmit={onCreatePaymentGroup}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n />\n )}\n {!previewData && (\n <CreatePaymentPresentation\n contractors={contractors}\n contractorPayments={virtualContractorPayments}\n paymentDate={paymentDate}\n onPaymentDateChange={setPaymentDate}\n onSaveAndContinue={onContinueToPreview}\n onEditContractor={onEditContractor}\n totals={totals}\n alerts={alerts}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n />\n )}\n <EditContractorPaymentPresentation\n isOpen={isModalOpen}\n onClose={() => {\n setIsModalOpen(false)\n }}\n formMethods={formMethods}\n onSubmit={onEditContractorSubmit}\n />\n </>\n )\n}\n"],"names":["CreatePayment","props","jsx","BaseComponent","Root","companyId","dictionary","onEvent","useComponentDictionary","t","useTranslation","isModalOpen","setIsModalOpen","useState","paymentDate","setPaymentDate","baseSubmitHandler","useBase","alerts","setAlerts","previewData","setPreviewData","createContractorPaymentGroup","isCreatingContractorPaymentGroup","useContractorPaymentGroupsCreateMutation","previewContractorPaymentGroup","isPreviewingContractorPaymentGroup","useContractorPaymentGroupsPreviewMutation","contractorList","useContractorsListSuspense","contractors","contractor","ContractorOnboardingStatus","initialContractorPayments","useMemo","virtualContractorPayments","setVirtualContractorPayments","totals","acc","payment","c","isHourly","hourlyAmount","fixedWage","formMethods","useForm","zodResolver","EditContractorPaymentFormSchema","jsxs","Fragment","PreviewPresentation","componentEvents","contractorPayments","creationToken","response","RFCDate","CreatePaymentPresentation","isTouched","rest","contractorUuid","contractorPayment","EditContractorPaymentPresentation","data","prevPayments","displayName","firstLastName","prevAlerts","_"],"mappings":"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"}
1
+ {"version":3,"file":"CreatePayment.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePayment.tsx"],"sourcesContent":["import { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useContractorPaymentGroupsCreateMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsCreate'\nimport type { ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useContractorPaymentGroupsPreviewMutation } from '@gusto/embedded-api/react-query/contractorPaymentGroupsPreview'\nimport { useMemo, useState } from 'react'\nimport { RFCDate } from '@gusto/embedded-api/types/rfcdate'\nimport { useForm } from 'react-hook-form'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroupPreview } from '@gusto/embedded-api/models/components/contractorpaymentgrouppreview'\nimport { useBankAccountsGet } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport type { InternalAlert } from '../types'\nimport { CreatePaymentPresentation } from './CreatePaymentPresentation'\nimport {\n EditContractorPaymentPresentation,\n EditContractorPaymentFormSchema,\n type EditContractorPaymentFormValues,\n} from './EditContractorPaymentPresentation'\nimport { PreviewPresentation } from './PreviewPresentation'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, useBase, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\ninterface CreatePaymentProps extends BaseComponentInterface<'Contractor.Payments.CreatePayment'> {\n companyId: string\n}\n\nexport function CreatePayment(props: CreatePaymentProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ companyId, dictionary, onEvent }: CreatePaymentProps) => {\n useComponentDictionary('Contractor.Payments.CreatePayment', dictionary)\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [paymentDate, setPaymentDate] = useState<string>(\n new Date().toISOString().split('T')[0] || '',\n )\n const { baseSubmitHandler } = useBase()\n const [alerts, setAlerts] = useState<Record<string, InternalAlert>>({})\n const [previewData, setPreviewData] = useState<ContractorPaymentGroupPreview | null>(null)\n\n const { mutateAsync: createContractorPaymentGroup, isPending: isCreatingContractorPaymentGroup } =\n useContractorPaymentGroupsCreateMutation()\n const {\n mutateAsync: previewContractorPaymentGroup,\n isPending: isPreviewingContractorPaymentGroup,\n } = useContractorPaymentGroupsPreviewMutation()\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractorList || []).filter(\n contractor =>\n contractor.isActive &&\n contractor.onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED,\n )\n const { data: bankAccounts } = useBankAccountsGet({ companyId })\n // Currently, we only support a single default bank account per company.\n const bankAccount = bankAccounts?.companyBankAccounts?.[0]\n const initialContractorPayments: (ContractorPayments & { isTouched: boolean })[] = useMemo(\n () =>\n contractors.map(contractor => ({\n contractorUuid: contractor.uuid,\n paymentMethod: contractor.paymentMethod || 'Direct Deposit',\n wage: 0,\n hours: 0,\n bonus: 0,\n reimbursement: 0,\n isTouched: false,\n })),\n [contractors],\n )\n const [virtualContractorPayments, setVirtualContractorPayments] =\n useState<(ContractorPayments & { isTouched: boolean })[]>(initialContractorPayments)\n const totals = useMemo(\n () =>\n virtualContractorPayments.reduce<{\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }>(\n (acc, payment) => {\n const contractor = contractors.find(c => c.uuid === payment.contractorUuid)\n const isHourly = contractor?.wageType === 'Hourly'\n const hourlyAmount = isHourly\n ? (payment.hours || 0) * Number(contractor.hourlyRate || 0)\n : 0\n const fixedWage = isHourly ? 0 : payment.wage || 0\n\n return {\n wage: acc.wage + fixedWage,\n bonus: acc.bonus + (payment.bonus || 0),\n reimbursement: acc.reimbursement + (payment.reimbursement || 0),\n total:\n acc.total +\n hourlyAmount +\n fixedWage +\n (payment.bonus || 0) +\n (payment.reimbursement || 0),\n }\n },\n { wage: 0, bonus: 0, reimbursement: 0, total: 0 },\n ),\n [virtualContractorPayments, contractors],\n )\n\n const formMethods = useForm<EditContractorPaymentFormValues>({\n resolver: zodResolver(EditContractorPaymentFormSchema),\n defaultValues: {\n wageType: 'Hourly',\n hours: 0,\n wage: 0,\n bonus: 0,\n reimbursement: 0,\n paymentMethod: 'Direct Deposit',\n hourlyRate: 0,\n contractorUuid: '',\n },\n })\n\n const onCreatePaymentGroup = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0 || !previewData?.creationToken) {\n return\n }\n const creationToken = previewData.creationToken\n const response = await createContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n checkDate: new RFCDate(paymentDate),\n contractorPayments: contractorPayments,\n creationToken,\n },\n },\n })\n setAlerts({})\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATED, response.contractorPaymentGroup || {})\n })\n }\n const onEditContractor = (contractorUuid: string) => {\n const contractor = contractors.find(contractor => contractor.uuid === contractorUuid)\n const contractorPayment = virtualContractorPayments.find(\n payment => payment.contractorUuid === contractorUuid,\n )\n formMethods.reset(\n {\n wageType: contractor?.wageType || 'Hourly',\n hours: contractorPayment?.hours || 0,\n wage: contractorPayment?.wage || 0,\n bonus: contractorPayment?.bonus || 0,\n reimbursement: contractorPayment?.reimbursement || 0,\n paymentMethod: contractorPayment?.paymentMethod || 'Direct Deposit',\n hourlyRate: contractor?.hourlyRate ? Number(contractor.hourlyRate) : 0,\n contractorUuid: contractorUuid,\n },\n { keepDirty: false, keepValues: false },\n )\n setAlerts({})\n setIsModalOpen(true)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EDIT)\n }\n\n const onEditContractorSubmit = (data: EditContractorPaymentFormValues) => {\n setVirtualContractorPayments(prevPayments =>\n prevPayments.map(payment =>\n payment.contractorUuid === data.contractorUuid\n ? {\n contractorUuid: payment.contractorUuid,\n wage: data.wage,\n hours: data.hours,\n bonus: data.bonus,\n reimbursement: data.reimbursement,\n paymentMethod: data.paymentMethod,\n isTouched: true,\n }\n : payment,\n ),\n )\n const contractor = contractors.find(contractor => contractor.uuid === data.contractorUuid)\n const displayName =\n contractor?.type === 'Individual'\n ? firstLastName({ first_name: contractor.firstName, last_name: contractor.lastName })\n : contractor?.businessName\n setAlerts(prevAlerts => ({\n ...prevAlerts,\n [data.contractorUuid]: {\n type: 'success',\n title: t('alerts.contractorPaymentUpdated', {\n contractorName: displayName,\n }),\n onDismiss: () => {\n setAlerts(prevAlerts => {\n const { [data.contractorUuid]: _, ...rest } = prevAlerts\n return rest\n })\n },\n },\n }))\n setIsModalOpen(false)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_UPDATE, data)\n }\n\n const onContinueToPreview = async () => {\n await baseSubmitHandler(null, async () => {\n const contractorPayments = virtualContractorPayments.filter(payment => payment.isTouched)\n if (contractorPayments.length === 0) {\n setAlerts({\n ...alerts,\n error: {\n type: 'error',\n title: t('alerts.noContractorPayments'),\n },\n })\n return\n }\n setAlerts({})\n const response = await previewContractorPaymentGroup({\n request: {\n companyId,\n requestBody: {\n contractorPayments: contractorPayments.map(payment => {\n const { isTouched, ...rest } = payment\n return rest\n }),\n checkDate: new RFCDate(paymentDate),\n },\n },\n })\n\n setPreviewData(response.contractorPaymentGroupPreview || null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_PREVIEW, response.contractorPaymentGroupPreview)\n })\n }\n const onBackToEdit = () => {\n setPreviewData(null)\n onEvent(componentEvents.CONTRACTOR_PAYMENT_BACK_TO_EDIT)\n }\n\n return (\n <>\n {previewData && (\n <PreviewPresentation\n contractorPaymentGroup={previewData}\n contractors={contractors}\n onBackToEdit={onBackToEdit}\n onSubmit={onCreatePaymentGroup}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n bankAccount={bankAccount}\n />\n )}\n {!previewData && (\n <CreatePaymentPresentation\n contractors={contractors}\n contractorPayments={virtualContractorPayments}\n paymentDate={paymentDate}\n onPaymentDateChange={setPaymentDate}\n onSaveAndContinue={onContinueToPreview}\n onEditContractor={onEditContractor}\n totals={totals}\n alerts={alerts}\n isLoading={isCreatingContractorPaymentGroup || isPreviewingContractorPaymentGroup}\n />\n )}\n <EditContractorPaymentPresentation\n isOpen={isModalOpen}\n onClose={() => {\n setIsModalOpen(false)\n }}\n formMethods={formMethods}\n onSubmit={onEditContractorSubmit}\n />\n </>\n )\n}\n"],"names":["CreatePayment","props","jsx","BaseComponent","Root","companyId","dictionary","onEvent","useComponentDictionary","t","useTranslation","isModalOpen","setIsModalOpen","useState","paymentDate","setPaymentDate","baseSubmitHandler","useBase","alerts","setAlerts","previewData","setPreviewData","createContractorPaymentGroup","isCreatingContractorPaymentGroup","useContractorPaymentGroupsCreateMutation","previewContractorPaymentGroup","isPreviewingContractorPaymentGroup","useContractorPaymentGroupsPreviewMutation","contractorList","useContractorsListSuspense","contractors","contractor","ContractorOnboardingStatus","bankAccounts","useBankAccountsGet","bankAccount","initialContractorPayments","useMemo","virtualContractorPayments","setVirtualContractorPayments","totals","acc","payment","c","isHourly","hourlyAmount","fixedWage","formMethods","useForm","zodResolver","EditContractorPaymentFormSchema","jsxs","Fragment","PreviewPresentation","componentEvents","contractorPayments","creationToken","response","RFCDate","CreatePaymentPresentation","isTouched","rest","contractorUuid","contractorPayment","EditContractorPaymentPresentation","data","prevPayments","displayName","firstLastName","prevAlerts","_"],"mappings":"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"}
@@ -5,16 +5,17 @@ import { getContractorDisplayName as F } from "./helpers.js";
5
5
  import { Flex as a, FlexItem as M } from "../../../Common/Flex/Flex.js";
6
6
  import "classnames";
7
7
  import "../../../../shared/constants.js";
8
- import { HamburgerMenu as N } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
9
- import { useComponentContext as j } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
10
- import { useI18n as v } from "../../../../i18n/I18n.js";
11
- import { formatHoursDisplay as I } from "../../../Payroll/helpers.js";
8
+ import { EmptyData as N } from "../../../Common/EmptyData/EmptyData.js";
9
+ import { HamburgerMenu as j } from "../../../Common/HamburgerMenu/HamburgerMenu.js";
10
+ import { useComponentContext as v } from "../../../../contexts/ComponentAdapter/useComponentContext.js";
11
+ import { useI18n as I } from "../../../../i18n/I18n.js";
12
+ import { formatHoursDisplay as S } from "../../../Payroll/helpers.js";
12
13
  import O from "../../../../hooks/useNumberFormatter.js";
13
- import { DataView as S } from "../../../Common/DataView/DataView.js";
14
- const U = "0.000", K = ({
15
- contractors: u,
16
- paymentDate: p,
17
- contractorPayments: m,
14
+ import { DataView as U } from "../../../Common/DataView/DataView.js";
15
+ const $ = "0.000", X = ({
16
+ contractors: m,
17
+ paymentDate: h,
18
+ contractorPayments: u,
18
19
  onPaymentDateChange: b,
19
20
  onSaveAndContinue: y,
20
21
  onEditContractor: g,
@@ -22,16 +23,16 @@ const U = "0.000", K = ({
22
23
  alerts: f,
23
24
  isLoading: T
24
25
  }) => {
25
- const { Button: H, Text: n, Heading: s, TextInput: C, Alert: x } = j();
26
- v("Contractor.Payments.CreatePayment");
26
+ const { Button: H, Text: n, Heading: s, TextInput: C, Alert: x } = v();
27
+ I("Contractor.Payments.CreatePayment");
27
28
  const { t } = R("Contractor.Payments.CreatePayment"), o = O("currency"), w = (e) => e ? e.wageType === "Hourly" && e.hourlyRate ? `${t("wageTypes.hourly")} ${o(Number(e.hourlyRate))}${t("perHour")}` : e.wageType : "", D = A(
28
- () => m.map((e) => ({
29
+ () => u.map((e) => ({
29
30
  ...e,
30
- contractorDetails: u.find(
31
+ contractorDetails: m.find(
31
32
  (i) => i.uuid === e.contractorUuid
32
33
  )
33
34
  })),
34
- [m, u]
35
+ [u, m]
35
36
  );
36
37
  return /* @__PURE__ */ c(a, { flexDirection: "column", gap: 32, children: [
37
38
  /* @__PURE__ */ c(a, { justifyContent: "flex-end", gap: 16, children: [
@@ -55,7 +56,7 @@ const U = "0.000", K = ({
55
56
  C,
56
57
  {
57
58
  type: "date",
58
- value: p,
59
+ value: h,
59
60
  onChange: b,
60
61
  label: t("dateLabel"),
61
62
  isRequired: !0
@@ -64,7 +65,7 @@ const U = "0.000", K = ({
64
65
  /* @__PURE__ */ c(a, { flexDirection: "column", gap: 16, children: [
65
66
  /* @__PURE__ */ r(s, { as: "h3", children: t("hoursAndPaymentsLabel") }),
66
67
  /* @__PURE__ */ r(
67
- S,
68
+ U,
68
69
  {
69
70
  columns: [
70
71
  {
@@ -81,7 +82,7 @@ const U = "0.000", K = ({
81
82
  },
82
83
  {
83
84
  title: t("contractorTableHeaders.hours"),
84
- render: (e) => /* @__PURE__ */ r(n, { children: e.contractorDetails?.wageType === "Hourly" && e.hours ? I(e.hours) : U })
85
+ render: (e) => /* @__PURE__ */ r(n, { children: e.contractorDetails?.wageType === "Hourly" && e.hours ? S(e.hours) : $ })
85
86
  },
86
87
  {
87
88
  title: t("contractorTableHeaders.wage"),
@@ -100,8 +101,8 @@ const U = "0.000", K = ({
100
101
  },
101
102
  {
102
103
  title: t("contractorTableHeaders.total"),
103
- render: ({ bonus: e, reimbursement: i, wage: P, hours: d, contractorDetails: h }) => {
104
- const L = (e ?? 0) + (i ?? 0) + (P ?? 0) + (h?.wageType === "Hourly" && d ? d * Number(h.hourlyRate ?? 0) : 0);
104
+ render: ({ bonus: e, reimbursement: i, wage: P, hours: d, contractorDetails: p }) => {
105
+ const L = (e ?? 0) + (i ?? 0) + (P ?? 0) + (p?.wageType === "Hourly" && d ? d * Number(p.hourlyRate ?? 0) : 0);
105
106
  return /* @__PURE__ */ r(n, { children: o(L) });
106
107
  }
107
108
  }
@@ -116,7 +117,7 @@ const U = "0.000", K = ({
116
117
  }),
117
118
  label: t("hoursAndPaymentsLabel"),
118
119
  itemMenu: (e) => /* @__PURE__ */ r(
119
- N,
120
+ j,
120
121
  {
121
122
  items: [
122
123
  {
@@ -128,13 +129,14 @@ const U = "0.000", K = ({
128
129
  ],
129
130
  triggerLabel: t("editContractor")
130
131
  }
131
- )
132
+ ),
133
+ emptyState: () => /* @__PURE__ */ r(N, { title: t("emptyTableTitle"), description: t("emptyTableDescription") })
132
134
  }
133
135
  )
134
136
  ] })
135
137
  ] });
136
138
  };
137
139
  export {
138
- K as CreatePaymentPresentation
140
+ X as CreatePaymentPresentation
139
141
  };
140
142
  //# sourceMappingURL=CreatePaymentPresentation.js.map