@gusto/embedded-react-sdk 0.51.2 → 0.52.1

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 (296) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/components/Base/Base.d.ts +2 -0
  3. package/dist/components/Base/Base.js.map +1 -1
  4. package/dist/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes.d.ts +1 -1
  5. package/dist/components/Common/OnboardingStatusBadge/index.d.ts +1 -1
  6. package/dist/components/Common/OnboardingStatusBadge/index.js.map +1 -1
  7. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +4 -1
  8. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.d.ts +1 -1
  9. package/dist/components/Common/UI/Breadcrumbs/BreadcrumbsTypes.js.map +1 -1
  10. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.d.ts +1 -1
  11. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  12. package/dist/components/Common/UI/ComboBox/ComboBoxTypes.d.ts +2 -2
  13. package/dist/components/Common/UI/DateRangePicker/DateRangePickerTypes.d.ts +3 -2
  14. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.d.ts +1 -1
  15. package/dist/components/Common/UI/DescriptionList/DescriptionListTypes.js.map +1 -1
  16. package/dist/components/Common/UI/FormBox/FormBox.d.ts +9 -0
  17. package/dist/components/Common/UI/FormBox/FormBox.js +13 -0
  18. package/dist/components/Common/UI/FormBox/FormBox.js.map +1 -0
  19. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js +14 -0
  20. package/dist/components/Common/UI/FormBox/FormBox.module.scss.js.map +1 -0
  21. package/dist/components/Common/UI/FormBox/FormBoxTypes.d.ts +26 -0
  22. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.d.ts +9 -0
  23. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js +23 -0
  24. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.js.map +1 -0
  25. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js +8 -0
  26. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeader.module.scss.js.map +1 -0
  27. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.d.ts +36 -0
  28. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js +7 -0
  29. package/dist/components/Common/UI/FormBoxHeader/FormBoxHeaderTypes.js.map +1 -0
  30. package/dist/components/Common/UI/FormBoxHeader/index.d.ts +1 -0
  31. package/dist/components/Common/UI/Input/InputTypes.d.ts +1 -0
  32. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  33. package/dist/components/Common/UI/Menu/MenuTypes.d.ts +3 -3
  34. package/dist/components/Common/UI/Menu/MenuTypes.js.map +1 -1
  35. package/dist/components/Common/UI/MultiSelectComboBox/MultiSelectComboBoxTypes.d.ts +2 -2
  36. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.d.ts +2 -2
  37. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  38. package/dist/components/Common/UI/Select/SelectTypes.d.ts +2 -2
  39. package/dist/components/Common/UI/Table/TableTypes.d.ts +4 -4
  40. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  41. package/dist/components/Common/UI/Tabs/TabsTypes.d.ts +2 -2
  42. package/dist/components/Company/AssignSignatory/CreateSignatory/CreateSignatoryForm.d.ts +1 -2
  43. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +5 -3
  44. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  45. package/dist/components/Company/AssignSignatory/InviteSignatory/InviteSignatoryForm.d.ts +1 -1
  46. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +5 -3
  47. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  48. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +7 -5
  49. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  50. package/dist/components/Company/BankAccount/BankAccountForm/Form.d.ts +1 -1
  51. package/dist/components/Company/BankAccount/BankAccountForm/context.js +5 -3
  52. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  53. package/dist/components/Company/BankAccount/BankAccountVerify/Form.d.ts +1 -1
  54. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  55. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  56. package/dist/components/Company/DocumentSigner/shared/useSignCompanyForm/signCompanyFormSchema.d.ts +1 -1
  57. package/dist/components/Company/FederalTaxes/useFederalTaxes.d.ts +1 -1
  58. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +10 -8
  59. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  60. package/dist/components/Company/Industry/Context.js +8 -6
  61. package/dist/components/Company/Industry/Context.js.map +1 -1
  62. package/dist/components/Company/Locations/LocationForm/Form.d.ts +1 -1
  63. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +5 -3
  64. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  65. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +5 -3
  66. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  67. package/dist/components/Company/OnboardingOverview/context.js +5 -3
  68. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  69. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/payScheduleSchema.d.ts +3 -3
  70. package/dist/components/Company/PaySchedule/shared/usePayScheduleForm/usePayScheduleForm.d.ts +1 -1
  71. package/dist/components/Company/StateTaxes/StateTaxes.d.ts +10 -1
  72. package/dist/components/Company/StateTaxes/StateTaxes.js +23 -17
  73. package/dist/components/Company/StateTaxes/StateTaxes.js.map +1 -1
  74. package/dist/components/Company/StateTaxes/StateTaxesComponents.d.ts +2 -0
  75. package/dist/components/Company/StateTaxes/StateTaxesComponents.js +17 -10
  76. package/dist/components/Company/StateTaxes/StateTaxesComponents.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +5 -3
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/List.js +26 -26
  80. package/dist/components/Company/StateTaxes/StateTaxesList/List.js.map +1 -1
  81. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.d.ts +9 -0
  82. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js +24 -24
  83. package/dist/components/Company/StateTaxes/StateTaxesList/StateTaxesList.js.map +1 -1
  84. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +5 -3
  85. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  86. package/dist/components/Contractor/Address/Address.d.ts +4 -3
  87. package/dist/components/Contractor/Address/Address.js.map +1 -1
  88. package/dist/components/Contractor/Address/shared/useContractorAddressForm/contractorAddressSchema.d.ts +2 -2
  89. package/dist/components/Contractor/Address/shared/useContractorAddressForm/useContractorAddressForm.d.ts +1 -1
  90. package/dist/components/Contractor/ContractorList/index.d.ts +2 -1
  91. package/dist/components/Contractor/ContractorList/index.js +123 -98
  92. package/dist/components/Contractor/ContractorList/index.js.map +1 -1
  93. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js +22 -19
  94. package/dist/components/Contractor/Documents/SignatureForm/SignatureForm.js.map +1 -1
  95. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/contractorSignatureFormSchema.d.ts +1 -1
  96. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/useContractorSignatureForm.d.ts +1 -1
  97. package/dist/components/Contractor/Documents/SignatureForm/useContractorSignatureForm/w9Fields.d.ts +1 -1
  98. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.d.ts +1 -1
  99. package/dist/components/Contractor/OnboardingFlow/OnboardingFlow.js.map +1 -1
  100. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.d.ts +2 -0
  101. package/dist/components/Contractor/OnboardingFlow/OnboardingFlowComponents.js.map +1 -1
  102. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js +150 -80
  103. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.js.map +1 -1
  104. package/dist/components/Contractor/OnboardingFlow/onboardingStateMachine.test.d.ts +1 -0
  105. package/dist/components/Contractor/PaymentMethod/shared/useContractorBankAccountForm/useContractorBankAccountFormSchema.d.ts +1 -1
  106. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.d.ts +1 -1
  107. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/contractorPaymentMethodSchema.js.map +1 -1
  108. package/dist/components/Contractor/PaymentMethod/shared/useContractorPaymentMethodForm/useContractorPaymentMethodForm.d.ts +2 -2
  109. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -1
  110. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +1 -1
  111. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -1
  112. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +2 -2
  113. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -1
  114. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.d.ts +17 -5
  115. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js +32 -31
  116. package/dist/components/Contractor/Payments/PaymentSummary/PaymentSummary.js.map +1 -1
  117. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +16 -4
  118. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +33 -29
  119. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -1
  120. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +1 -1
  121. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js +19 -18
  122. package/dist/components/Contractor/Profile/BusinessSelfOnboardingProfile.js.map +1 -1
  123. package/dist/components/Contractor/Profile/ContractorProfile.d.ts +1 -1
  124. package/dist/components/Contractor/Profile/ContractorProfile.js +114 -110
  125. package/dist/components/Contractor/Profile/ContractorProfile.js.map +1 -1
  126. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js +27 -26
  127. package/dist/components/Contractor/Profile/IndividualSelfOnboardingProfile.js.map +1 -1
  128. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.d.ts +1 -1
  129. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js +6 -6
  130. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/contractorDetailsSchema.js.map +1 -1
  131. package/dist/components/Contractor/Profile/shared/useContractorDetailsForm/useContractorDetailsForm.d.ts +1 -1
  132. package/dist/components/Contractor/Submit/Submit.js +106 -63
  133. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  134. package/dist/components/Employee/Compensation/onboarding/Compensation.d.ts +0 -4
  135. package/dist/components/Employee/Compensation/onboarding/Compensation.js +38 -42
  136. package/dist/components/Employee/Compensation/onboarding/Compensation.js.map +1 -1
  137. package/dist/components/Employee/Compensation/shared/useCompensationForm/compensationSchema.d.ts +2 -2
  138. package/dist/components/Employee/Compensation/shared/useJobForm/jobSchema.d.ts +1 -1
  139. package/dist/components/Employee/Dashboard/index.d.ts +1 -1
  140. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/childSupportGarnishmentFormSchema.d.ts +1 -1
  141. package/dist/components/Employee/Deductions/shared/useChildSupportGarnishmentForm/useChildSupportGarnishmentForm.d.ts +1 -1
  142. package/dist/components/Employee/Deductions/shared/useDeductionForm/deductionFormSchema.d.ts +2 -2
  143. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js +5 -3
  144. package/dist/components/Employee/Documents/onboarding/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  145. package/dist/components/Employee/Documents/onboarding/DocumentSigner/EmploymentEligibility/EmploymentEligibilitySchema.d.ts +2 -2
  146. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js +1 -4
  147. package/dist/components/Employee/Documents/onboarding/EmployeeDocuments/EmployeeDocuments.js.map +1 -1
  148. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.d.ts +2 -2
  149. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js +27 -32
  150. package/dist/components/Employee/Documents/shared/useSignEmployeeForm/signEmployeeFormSchema.js.map +1 -1
  151. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js +1 -2
  152. package/dist/components/Employee/EmployeeList/shared/useEmployeeList.js.map +1 -1
  153. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/federalTaxesSchema.d.ts +2 -2
  154. package/dist/components/Employee/FederalTaxes/shared/useFederalTaxesForm/useFederalTaxesForm.d.ts +1 -1
  155. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.d.ts +1 -1
  156. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js +1 -3
  157. package/dist/components/Employee/OnboardingExecutionFlow/onboardingExecutionStateMachine.js.map +1 -1
  158. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js +55 -49
  159. package/dist/components/Employee/OnboardingSummary/OnboardingSummary.js.map +1 -1
  160. package/dist/components/Employee/PaymentMethod/shared/useBankForm/useBankFormSchema.d.ts +1 -1
  161. package/dist/components/Employee/PaymentMethod/shared/useSplitPaymentsForm/useSplitPaymentsFormSchema.d.ts +1 -1
  162. package/dist/components/Employee/Profile/shared/useEmployeeDetailsForm/employeeDetailsSchema.d.ts +2 -2
  163. package/dist/components/Employee/Profile/shared/useHomeAddressForm/homeAddressSchema.d.ts +1 -1
  164. package/dist/components/Employee/Profile/shared/useHomeAddressForm/useHomeAddressForm.d.ts +1 -1
  165. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.d.ts +2 -2
  166. package/dist/components/Employee/StateTaxes/shared/useEmployeeStateTaxesForm/fields.js.map +1 -1
  167. package/dist/components/Employee/exports/employeeManagement.d.ts +1 -1
  168. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.d.ts +4 -5
  169. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js +101 -125
  170. package/dist/components/InformationRequests/InformationRequestForm/InformationRequestForm.js.map +1 -1
  171. package/dist/components/InformationRequests/InformationRequestsComponents.d.ts +0 -5
  172. package/dist/components/InformationRequests/InformationRequestsComponents.js +12 -13
  173. package/dist/components/InformationRequests/InformationRequestsComponents.js.map +1 -1
  174. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js +4 -4
  175. package/dist/components/Payroll/Dismissal/DismissalFlowComponents.js.map +1 -1
  176. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.d.ts +1 -1
  177. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js +8 -8
  178. package/dist/components/Payroll/OffCycle/OffCycleFlowComponents.js.map +1 -1
  179. package/dist/components/Payroll/OffCycle/index.d.ts +1 -1
  180. package/dist/components/Payroll/OffCycleTaxWithholdingTable/OffCycleTaxWithholdingTableTypes.d.ts +1 -1
  181. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js +97 -92
  182. package/dist/components/Payroll/PayrollConfiguration/PayrollConfiguration.js.map +1 -1
  183. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.d.ts +2 -3
  184. package/dist/components/Payroll/PayrollConfiguration/PayrollConfigurationPresentation.js.map +1 -1
  185. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.d.ts +2 -2
  186. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js +1 -1
  187. package/dist/components/Payroll/PayrollConfiguration/usePayrollConfigurationData.js.map +1 -1
  188. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js +57 -56
  189. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployee.js.map +1 -1
  190. package/dist/components/Payroll/PayrollEditEmployee/PayrollEditEmployeePresentation.js.map +1 -1
  191. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.d.ts +23 -6
  192. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js +37 -33
  193. package/dist/components/Payroll/PayrollExecutionFlow/PayrollExecutionFlow.js.map +1 -1
  194. package/dist/components/Payroll/PayrollExecutionFlow/payrollExecutionMachine.js +2 -2
  195. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js +6 -6
  196. package/dist/components/Payroll/PayrollFlow/PayrollExecutionFlowContextual.js.map +1 -1
  197. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js +1 -1
  198. package/dist/components/Payroll/PayrollHistory/PayrollHistory.js.map +1 -1
  199. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.d.ts +1 -1
  200. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  201. package/dist/components/Payroll/PayrollList/PayrollList.js.map +1 -1
  202. package/dist/components/Payroll/PayrollList/PayrollListPresentation.d.ts +1 -1
  203. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js +1 -1
  204. package/dist/components/Payroll/PayrollList/PayrollListPresentation.js.map +1 -1
  205. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.d.ts +1 -1
  206. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +31 -31
  207. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  208. package/dist/components/Payroll/RecoveryCases/RecoveryCases.d.ts +9 -5
  209. package/dist/components/Payroll/RecoveryCases/RecoveryCases.js.map +1 -1
  210. package/dist/components/Payroll/Transition/TransitionFlowComponents.d.ts +1 -1
  211. package/dist/components/Payroll/Transition/TransitionFlowComponents.js +1 -1
  212. package/dist/components/Payroll/Transition/TransitionFlowComponents.js.map +1 -1
  213. package/dist/components/Payroll/Transition/index.d.ts +1 -1
  214. package/dist/components/Payroll/helpers.d.ts +22 -8
  215. package/dist/components/Payroll/helpers.js +1 -1
  216. package/dist/components/Payroll/helpers.js.map +1 -1
  217. package/dist/components/Payroll/index.d.ts +3 -2
  218. package/dist/components/Payroll/payrollTypes.d.ts +1 -1
  219. package/dist/components/Payroll/payrollTypes.js +1 -1
  220. package/dist/components/Payroll/payrollTypes.js.map +1 -1
  221. package/dist/components/Payroll/usePreparedPayrollData.d.ts +1 -1
  222. package/dist/components/Payroll/usePreparedPayrollData.js +10 -8
  223. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  224. package/dist/components/TimeOff/TimeOffFlow/timeOffPolicyTypes.d.ts +1 -1
  225. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js +19 -19
  226. package/dist/components/TimeOff/TimeOffManagement/SelectEmployees/useSelectEmployeesData.js.map +1 -1
  227. package/dist/contexts/ApiProvider/ApiProvider.d.ts +5 -5
  228. package/dist/contexts/ApiProvider/ApiProvider.js.map +1 -1
  229. package/dist/contexts/ApiProvider/apiVersion.d.ts +2 -2
  230. package/dist/contexts/ApiProvider/apiVersion.js +1 -1
  231. package/dist/contexts/ApiProvider/apiVersion.js.map +1 -1
  232. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js +40 -36
  233. package/dist/contexts/ComponentAdapter/adapters/defaultComponentAdapter.js.map +1 -1
  234. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +2 -0
  235. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.d.ts +5 -0
  236. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js +18 -16
  237. package/dist/contexts/ComponentAdapter/createComponentsWithDefaults.js.map +1 -1
  238. package/dist/contexts/ComponentAdapter/useComponentContext.d.ts +7 -1
  239. package/dist/contexts/ComponentAdapter/useComponentContext.js.map +1 -1
  240. package/dist/contexts/GustoProvider/GustoProvider.d.ts +5 -5
  241. package/dist/contexts/GustoProvider/GustoProvider.js +6 -6
  242. package/dist/contexts/GustoProvider/GustoProvider.js.map +1 -1
  243. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.d.ts +8 -7
  244. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +8 -8
  245. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  246. package/dist/contexts/GustoProvider/index.d.ts +1 -1
  247. package/dist/contexts/ThemeProvider/types.d.ts +2 -2
  248. package/dist/contexts/index.d.ts +2 -6
  249. package/dist/i18n/en/Contractor.ContractorList.json.js +22 -18
  250. package/dist/i18n/en/Contractor.ContractorList.json.js.map +1 -1
  251. package/dist/i18n/en/Contractor.SignatureForm.json.js +5 -5
  252. package/dist/i18n/en/Contractor.Submit.json.js +11 -11
  253. package/dist/i18n/en/Employee.OnboardingSummary.json.js +24 -20
  254. package/dist/i18n/en/Employee.OnboardingSummary.json.js.map +1 -1
  255. package/dist/i18n/types.d.ts +15 -3
  256. package/dist/index.d.ts +8 -7
  257. package/dist/index.js +121 -134
  258. package/dist/index.js.map +1 -1
  259. package/dist/models/WA_RISK_CODES.d.ts +6 -2
  260. package/dist/models/WA_RISK_CODES.js.map +1 -1
  261. package/dist/models/external.d.ts +67 -57
  262. package/dist/partner-hook-utils/composeErrorHandler.d.ts +13 -4
  263. package/dist/partner-hook-utils/composeErrorHandler.js.map +1 -1
  264. package/dist/partner-hook-utils/form/SDKFormProvider.d.ts +11 -2
  265. package/dist/partner-hook-utils/form/SDKFormProvider.js +7 -1
  266. package/dist/partner-hook-utils/form/SDKFormProvider.js.map +1 -1
  267. package/dist/partner-hook-utils/form/composeSubmitHandler.d.ts +11 -4
  268. package/dist/partner-hook-utils/form/composeSubmitHandler.js.map +1 -1
  269. package/dist/partner-hook-utils/form/fields/CheckboxHookField.d.ts +1 -0
  270. package/dist/partner-hook-utils/form/fields/CheckboxHookField.js.map +1 -1
  271. package/dist/partner-hook-utils/form/fields/DatePickerHookField.d.ts +1 -0
  272. package/dist/partner-hook-utils/form/fields/DatePickerHookField.js.map +1 -1
  273. package/dist/partner-hook-utils/form/fields/NumberInputHookField.d.ts +1 -0
  274. package/dist/partner-hook-utils/form/fields/NumberInputHookField.js.map +1 -1
  275. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.d.ts +1 -0
  276. package/dist/partner-hook-utils/form/fields/RadioGroupHookField.js.map +1 -1
  277. package/dist/partner-hook-utils/form/fields/SelectHookField.d.ts +1 -0
  278. package/dist/partner-hook-utils/form/fields/SelectHookField.js.map +1 -1
  279. package/dist/partner-hook-utils/form/fields/SwitchHookField.d.ts +1 -0
  280. package/dist/partner-hook-utils/form/fields/SwitchHookField.js.map +1 -1
  281. package/dist/partner-hook-utils/form/fields/TextInputHookField.d.ts +1 -0
  282. package/dist/partner-hook-utils/form/fields/TextInputHookField.js.map +1 -1
  283. package/dist/partner-hook-utils/form/fields/index.d.ts +1 -0
  284. package/dist/partner-hook-utils/form/index.d.ts +3 -3
  285. package/dist/partner-hook-utils/form/useHookFieldResolution.js.map +1 -1
  286. package/dist/partner-hook-utils/index.d.ts +1 -1
  287. package/dist/partner-hook-utils/types.d.ts +16 -3
  288. package/dist/shared/constants.d.ts +12 -2
  289. package/dist/shared/constants.js +11 -10
  290. package/dist/shared/constants.js.map +1 -1
  291. package/dist/style.css +1 -1
  292. package/dist/types/Helpers.d.ts +13 -0
  293. package/dist/types/hooks.d.ts +2 -1
  294. package/dist/types/observability.d.ts +1 -0
  295. package/docs/guides/endpoint-inventory.json +396 -380
  296. package/package.json +17 -17
@@ -1,5 +1,5 @@
1
1
  import { Contractor } from '@gusto/embedded-api/models/components/contractor';
2
- import { ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups';
2
+ import { PostV1CompaniesCompanyIdContractorPaymentGroupsContractorPayments as ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups';
3
3
  import { InternalAlert } from '../types';
4
4
  import { ApiPayrollBlocker } from '../../../Payroll/PayrollBlocker/payrollHelpers';
5
5
  interface ContractorPaymentCreatePaymentPresentationProps {
@@ -1 +1 @@
1
- {"version":3,"file":"CreatePaymentPresentation.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type { ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useMemo } from 'react'\nimport type { InternalAlert } from '../types'\nimport { getContractorDisplayName } from './helpers'\nimport type { ApiPayrollBlocker } from '@/components/Payroll/PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '@/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts'\nimport { DataView, Flex, FlexItem, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { useI18n } from '@/i18n'\nimport { formatHoursDisplay } from '@/components/Payroll/helpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport {\n formatDateToStringDate,\n normalizeDateToLocal,\n normalizeToDate,\n} from '@/helpers/dateFormatting'\n\nconst ZERO_HOURS_DISPLAY = '0.000'\n\ninterface ContractorPaymentCreatePaymentPresentationProps {\n contractors: Contractor[]\n contractorPayments: (ContractorPayments & { isTouched?: boolean })[]\n paymentDate: string\n onPaymentDateChange: (date: string) => void\n onSaveAndContinue: () => void\n onEditContractor: (contractorUuid: string) => void\n totals: {\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }\n alerts: Record<string, InternalAlert>\n payrollBlockers?: ApiPayrollBlocker[]\n onViewBlockers?: () => void\n isLoading: boolean\n paymentSpeedDays: number\n}\n\n/** @internal */\nexport const CreatePaymentPresentation = ({\n contractors,\n paymentDate,\n contractorPayments,\n onPaymentDateChange,\n onSaveAndContinue,\n onEditContractor,\n totals,\n alerts,\n payrollBlockers = [],\n onViewBlockers,\n isLoading,\n paymentSpeedDays,\n}: ContractorPaymentCreatePaymentPresentationProps) => {\n const { Button, Text, Heading, DatePicker, Alert } = useComponentContext()\n useI18n('Contractor.Payments.CreatePayment')\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const currencyFormatter = useNumberFormatter('currency')\n\n const formatWageType = (contractor?: Contractor) => {\n if (!contractor) return ''\n if (contractor.wageType === 'Hourly' && contractor.hourlyRate) {\n return ` ${currencyFormatter(Number(contractor.hourlyRate || '0'))}${t('perHour')}`\n }\n return contractor.wageType\n }\n\n const tableData = useMemo(\n () =>\n contractorPayments.map(payment => {\n return {\n ...payment,\n contractorDetails: contractors.find(\n contractor => contractor.uuid === payment.contractorUuid,\n ),\n }\n }),\n [contractorPayments, contractors],\n )\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Flex justifyContent=\"flex-end\" gap={16}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {t('paymentSpeedNotice', {\n count: paymentSpeedDays,\n })}\n </Text>\n </Flex>\n <FlexItem>\n <Button onClick={onSaveAndContinue} variant=\"primary\" isLoading={isLoading}>\n {t('continueCta')}\n </Button>\n </FlexItem>\n </Flex>\n\n {payrollBlockers.length > 0 && (\n <PayrollBlockerAlerts blockers={payrollBlockers} onViewBlockersClick={onViewBlockers} />\n )}\n\n {Object.values(alerts).map(alert => (\n <Alert\n key={alert.title}\n label={alert.title}\n onDismiss={alert.onDismiss}\n status={alert.type}\n >\n {alert.content ?? null}\n </Alert>\n ))}\n\n <Flex flexDirection=\"column\" gap={8}>\n <DatePicker\n value={paymentDate ? normalizeToDate(paymentDate) : null}\n onChange={date => {\n const normalized = normalizeDateToLocal(date)\n onPaymentDateChange(normalized ? (formatDateToStringDate(normalized) ?? '') : '')\n }}\n label={t('dateLabel')}\n isRequired\n />\n </Flex>\n\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h3\">{t('hoursAndPaymentsLabel')}</Heading>\n <DataView\n columns={[\n {\n title: t('contractorTableHeaders.contractor'),\n render: paymentData => getContractorDisplayName(paymentData.contractorDetails),\n },\n {\n title: t('contractorTableHeaders.wageType'),\n render: paymentData => formatWageType(paymentData.contractorDetails),\n },\n {\n title: t('contractorTableHeaders.paymentMethod'),\n render: paymentData => paymentData.paymentMethod || t('na'),\n },\n {\n title: t('contractorTableHeaders.hours'),\n justify: 'end',\n render: paymentData => {\n if (paymentData.contractorDetails?.wageType === 'Fixed') return t('na')\n const hours = Number(paymentData.hours || '0')\n return hours ? formatHoursDisplay(hours) : ZERO_HOURS_DISPLAY\n },\n },\n {\n title: t('contractorTableHeaders.wage'),\n justify: 'end',\n render: paymentData => {\n if (paymentData.contractorDetails?.wageType === 'Hourly') return t('na')\n return currencyFormatter(Number(paymentData.wage || '0'))\n },\n },\n {\n title: t('contractorTableHeaders.bonus'),\n justify: 'end',\n render: paymentData => currencyFormatter(Number(paymentData.bonus || '0')),\n },\n {\n title: t('contractorTableHeaders.reimbursement'),\n justify: 'end',\n render: paymentData => currencyFormatter(Number(paymentData.reimbursement || '0')),\n },\n {\n title: t('contractorTableHeaders.total'),\n justify: 'end',\n render: ({ bonus, reimbursement, wage, hours, contractorDetails }) => {\n const totalAmount =\n Number(bonus || '0') +\n Number(reimbursement || '0') +\n Number(wage || '0') +\n (contractorDetails?.wageType === 'Hourly' && hours\n ? Number(hours || '0') * Number(contractorDetails.hourlyRate || '0')\n : 0)\n return currencyFormatter(totalAmount)\n },\n },\n ]}\n data={tableData}\n footer={\n tableData.length > 0\n ? () => ({\n 'column-0': t('totalsLabel'),\n 'column-4': currencyFormatter(totals.wage),\n 'column-5': currencyFormatter(totals.bonus),\n 'column-6': currencyFormatter(totals.reimbursement),\n 'column-7': currencyFormatter(totals.total),\n })\n : undefined\n }\n label={t('hoursAndPaymentsLabel')}\n itemMenu={paymentData => (\n <HamburgerMenu\n items={[\n {\n label: t('editContractor'),\n onClick: () => {\n onEditContractor(paymentData.contractorUuid!)\n },\n },\n ]}\n triggerLabel={t('editContractor')}\n />\n )}\n emptyState={() => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')} />\n )}\n />\n </Flex>\n </Flex>\n )\n}\n"],"names":["ZERO_HOURS_DISPLAY","CreatePaymentPresentation","contractors","paymentDate","contractorPayments","onPaymentDateChange","onSaveAndContinue","onEditContractor","totals","alerts","payrollBlockers","onViewBlockers","isLoading","paymentSpeedDays","Button","Text","Heading","DatePicker","Alert","useComponentContext","useI18n","t","useTranslation","currencyFormatter","useNumberFormatter","formatWageType","contractor","tableData","useMemo","payment","jsxs","Flex","jsx","FlexItem","PayrollBlockerAlerts","alert","normalizeToDate","date","normalized","normalizeDateToLocal","formatDateToStringDate","DataView","paymentData","getContractorDisplayName","hours","formatHoursDisplay","bonus","reimbursement","wage","contractorDetails","totalAmount","HamburgerMenu","EmptyData"],"mappings":"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"}
1
+ {"version":3,"file":"CreatePaymentPresentation.js","sources":["../../../../../src/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { Contractor } from '@gusto/embedded-api/models/components/contractor'\nimport type { PostV1CompaniesCompanyIdContractorPaymentGroupsContractorPayments as ContractorPayments } from '@gusto/embedded-api/models/operations/postv1companiescompanyidcontractorpaymentgroups'\nimport { useMemo } from 'react'\nimport type { InternalAlert } from '../types'\nimport { getContractorDisplayName } from './helpers'\nimport type { ApiPayrollBlocker } from '@/components/Payroll/PayrollBlocker/payrollHelpers'\nimport { PayrollBlockerAlerts } from '@/components/Payroll/PayrollBlocker/components/PayrollBlockerAlerts'\nimport { DataView, Flex, FlexItem, EmptyData } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { HamburgerMenu } from '@/components/Common/HamburgerMenu'\nimport { useI18n } from '@/i18n'\nimport { formatHoursDisplay } from '@/components/Payroll/helpers'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport {\n formatDateToStringDate,\n normalizeDateToLocal,\n normalizeToDate,\n} from '@/helpers/dateFormatting'\n\nconst ZERO_HOURS_DISPLAY = '0.000'\n\ninterface ContractorPaymentCreatePaymentPresentationProps {\n contractors: Contractor[]\n contractorPayments: (ContractorPayments & { isTouched?: boolean })[]\n paymentDate: string\n onPaymentDateChange: (date: string) => void\n onSaveAndContinue: () => void\n onEditContractor: (contractorUuid: string) => void\n totals: {\n wage: number\n bonus: number\n reimbursement: number\n total: number\n }\n alerts: Record<string, InternalAlert>\n payrollBlockers?: ApiPayrollBlocker[]\n onViewBlockers?: () => void\n isLoading: boolean\n paymentSpeedDays: number\n}\n\n/** @internal */\nexport const CreatePaymentPresentation = ({\n contractors,\n paymentDate,\n contractorPayments,\n onPaymentDateChange,\n onSaveAndContinue,\n onEditContractor,\n totals,\n alerts,\n payrollBlockers = [],\n onViewBlockers,\n isLoading,\n paymentSpeedDays,\n}: ContractorPaymentCreatePaymentPresentationProps) => {\n const { Button, Text, Heading, DatePicker, Alert } = useComponentContext()\n useI18n('Contractor.Payments.CreatePayment')\n const { t } = useTranslation('Contractor.Payments.CreatePayment')\n const currencyFormatter = useNumberFormatter('currency')\n\n const formatWageType = (contractor?: Contractor) => {\n if (!contractor) return ''\n if (contractor.wageType === 'Hourly' && contractor.hourlyRate) {\n return ` ${currencyFormatter(Number(contractor.hourlyRate || '0'))}${t('perHour')}`\n }\n return contractor.wageType\n }\n\n const tableData = useMemo(\n () =>\n contractorPayments.map(payment => {\n return {\n ...payment,\n contractorDetails: contractors.find(\n contractor => contractor.uuid === payment.contractorUuid,\n ),\n }\n }),\n [contractorPayments, contractors],\n )\n\n return (\n <Flex flexDirection=\"column\" gap={32}>\n <Flex justifyContent=\"flex-end\" gap={16}>\n <Flex flexDirection=\"column\" gap={4}>\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text variant=\"supporting\">\n {t('paymentSpeedNotice', {\n count: paymentSpeedDays,\n })}\n </Text>\n </Flex>\n <FlexItem>\n <Button onClick={onSaveAndContinue} variant=\"primary\" isLoading={isLoading}>\n {t('continueCta')}\n </Button>\n </FlexItem>\n </Flex>\n\n {payrollBlockers.length > 0 && (\n <PayrollBlockerAlerts blockers={payrollBlockers} onViewBlockersClick={onViewBlockers} />\n )}\n\n {Object.values(alerts).map(alert => (\n <Alert\n key={alert.title}\n label={alert.title}\n onDismiss={alert.onDismiss}\n status={alert.type}\n >\n {alert.content ?? null}\n </Alert>\n ))}\n\n <Flex flexDirection=\"column\" gap={8}>\n <DatePicker\n value={paymentDate ? normalizeToDate(paymentDate) : null}\n onChange={date => {\n const normalized = normalizeDateToLocal(date)\n onPaymentDateChange(normalized ? (formatDateToStringDate(normalized) ?? '') : '')\n }}\n label={t('dateLabel')}\n isRequired\n />\n </Flex>\n\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h3\">{t('hoursAndPaymentsLabel')}</Heading>\n <DataView\n columns={[\n {\n title: t('contractorTableHeaders.contractor'),\n render: paymentData => getContractorDisplayName(paymentData.contractorDetails),\n },\n {\n title: t('contractorTableHeaders.wageType'),\n render: paymentData => formatWageType(paymentData.contractorDetails),\n },\n {\n title: t('contractorTableHeaders.paymentMethod'),\n render: paymentData => paymentData.paymentMethod || t('na'),\n },\n {\n title: t('contractorTableHeaders.hours'),\n justify: 'end',\n render: paymentData => {\n if (paymentData.contractorDetails?.wageType === 'Fixed') return t('na')\n const hours = Number(paymentData.hours || '0')\n return hours ? formatHoursDisplay(hours) : ZERO_HOURS_DISPLAY\n },\n },\n {\n title: t('contractorTableHeaders.wage'),\n justify: 'end',\n render: paymentData => {\n if (paymentData.contractorDetails?.wageType === 'Hourly') return t('na')\n return currencyFormatter(Number(paymentData.wage || '0'))\n },\n },\n {\n title: t('contractorTableHeaders.bonus'),\n justify: 'end',\n render: paymentData => currencyFormatter(Number(paymentData.bonus || '0')),\n },\n {\n title: t('contractorTableHeaders.reimbursement'),\n justify: 'end',\n render: paymentData => currencyFormatter(Number(paymentData.reimbursement || '0')),\n },\n {\n title: t('contractorTableHeaders.total'),\n justify: 'end',\n render: ({ bonus, reimbursement, wage, hours, contractorDetails }) => {\n const totalAmount =\n Number(bonus || '0') +\n Number(reimbursement || '0') +\n Number(wage || '0') +\n (contractorDetails?.wageType === 'Hourly' && hours\n ? Number(hours || '0') * Number(contractorDetails.hourlyRate || '0')\n : 0)\n return currencyFormatter(totalAmount)\n },\n },\n ]}\n data={tableData}\n footer={\n tableData.length > 0\n ? () => ({\n 'column-0': t('totalsLabel'),\n 'column-4': currencyFormatter(totals.wage),\n 'column-5': currencyFormatter(totals.bonus),\n 'column-6': currencyFormatter(totals.reimbursement),\n 'column-7': currencyFormatter(totals.total),\n })\n : undefined\n }\n label={t('hoursAndPaymentsLabel')}\n itemMenu={paymentData => (\n <HamburgerMenu\n items={[\n {\n label: t('editContractor'),\n onClick: () => {\n onEditContractor(paymentData.contractorUuid!)\n },\n },\n ]}\n triggerLabel={t('editContractor')}\n />\n )}\n emptyState={() => (\n <EmptyData title={t('emptyTableTitle')} description={t('emptyTableDescription')} />\n )}\n />\n </Flex>\n </Flex>\n )\n}\n"],"names":["ZERO_HOURS_DISPLAY","CreatePaymentPresentation","contractors","paymentDate","contractorPayments","onPaymentDateChange","onSaveAndContinue","onEditContractor","totals","alerts","payrollBlockers","onViewBlockers","isLoading","paymentSpeedDays","Button","Text","Heading","DatePicker","Alert","useComponentContext","useI18n","t","useTranslation","currencyFormatter","useNumberFormatter","formatWageType","contractor","tableData","useMemo","payment","jsxs","Flex","jsx","FlexItem","PayrollBlockerAlerts","alert","normalizeToDate","date","normalized","normalizeDateToLocal","formatDateToStringDate","DataView","paymentData","getContractorDisplayName","hours","formatHoursDisplay","bonus","reimbursement","wage","contractorDetails","totalAmount","HamburgerMenu","EmptyData"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { PaymentsList as u } from "../PaymentsList/PaymentsList.js";
2
+ import { PaymentsListInternal as u } from "../PaymentsList/PaymentsList.js";
3
3
  import { CreatePayment as y } from "../CreatePayment/CreatePayment.js";
4
4
  import { PaymentHistory as c } from "../PaymentHistory/PaymentHistory.js";
5
5
  import { PaymentStatement as i } from "../PaymentStatement/PaymentStatement.js";
6
+ import { PaymentSummaryInternal as p } from "../PaymentSummary/PaymentSummary.js";
6
7
  import { useFlow as r } from "../../../Flow/useFlow.js";
7
8
  import { ensureRequired as o } from "../../../../helpers/ensureRequired.js";
8
- import { PaymentSummary as p } from "../PaymentSummary/PaymentSummary.js";
9
9
  import { InformationRequestsFlow as s } from "../../../InformationRequests/InformationRequests.js";
10
10
  function S() {
11
11
  const { companyId: t, onEvent: n, alerts: m } = r();
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentFlowComponents.js","sources":["../../../../../src/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.tsx"],"sourcesContent":["import { PaymentsList } from '../PaymentsList/PaymentsList'\nimport { CreatePayment } from '../CreatePayment/CreatePayment'\nimport { PaymentHistory } from '../PaymentHistory/PaymentHistory'\nimport { PaymentStatement } from '../PaymentStatement/PaymentStatement'\nimport { PaymentSummary } from '../PaymentSummary'\nimport type { InternalAlert } from '../types'\nimport { InformationRequestsFlow } from '@/components/InformationRequests'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport type { BreadcrumbTrail } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link PaymentFlow}.\n *\n * @public\n */\nexport interface PaymentFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/** @internal */\nexport interface PaymentFlowContextInterface extends FlowContextInterface {\n companyId: string\n breadcrumbs?: BreadcrumbTrail\n currentPaymentId?: string\n currentContractorUuid?: string\n createdPaymentGroupId?: string\n alerts?: InternalAlert[]\n}\n\n/** @internal */\nexport function PaymentListContextual() {\n const { companyId, onEvent, alerts } = useFlow<PaymentFlowContextInterface>()\n return <PaymentsList onEvent={onEvent} companyId={ensureRequired(companyId)} alerts={alerts} />\n}\n\n/** @internal */\nexport function CreatePaymentContextual() {\n const { companyId, onEvent } = useFlow<PaymentFlowContextInterface>()\n return <CreatePayment onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n\n/** @internal */\nexport function PaymentHistoryContextual() {\n const { currentPaymentId, onEvent } = useFlow<PaymentFlowContextInterface>()\n return <PaymentHistory onEvent={onEvent} paymentId={ensureRequired(currentPaymentId)} />\n}\n\n/** @internal */\nexport function PaymentStatementContextual() {\n const { currentPaymentId, currentContractorUuid, onEvent } =\n useFlow<PaymentFlowContextInterface>()\n return (\n <PaymentStatement\n onEvent={onEvent}\n paymentGroupId={ensureRequired(currentPaymentId)}\n contractorUuid={ensureRequired(currentContractorUuid)}\n />\n )\n}\n\n/** @internal */\nexport function PaymentSummaryContextual() {\n const { createdPaymentGroupId, companyId, onEvent, alerts } =\n useFlow<PaymentFlowContextInterface>()\n\n return (\n <PaymentSummary\n onEvent={onEvent}\n paymentGroupId={ensureRequired(createdPaymentGroupId)}\n companyId={ensureRequired(companyId)}\n alerts={alerts}\n />\n )\n}\n\n/** @internal */\nexport function InformationRequestsContextual() {\n const { companyId, onEvent } = useFlow<PaymentFlowContextInterface>()\n return (\n <InformationRequestsFlow\n companyId={ensureRequired(companyId)}\n withAlert={false}\n onEvent={onEvent}\n />\n )\n}\n"],"names":["PaymentListContextual","companyId","onEvent","alerts","useFlow","PaymentsList","ensureRequired","CreatePaymentContextual","CreatePayment","PaymentHistoryContextual","currentPaymentId","PaymentHistory","PaymentStatementContextual","currentContractorUuid","jsx","PaymentStatement","PaymentSummaryContextual","createdPaymentGroupId","PaymentSummary","InformationRequestsContextual","InformationRequestsFlow"],"mappings":";;;;;;;;;AAiCO,SAASA,IAAwB;AACtC,QAAM,EAAE,WAAAC,GAAW,SAAAC,GAAS,QAAAC,EAAA,IAAWC,EAAA;AACvC,2BAAQC,GAAA,EAAa,SAAAH,GAAkB,WAAWI,EAAeL,CAAS,GAAG,QAAAE,GAAgB;AAC/F;AAGO,SAASI,IAA0B;AACxC,QAAM,EAAE,WAAAN,GAAW,SAAAC,EAAA,IAAYE,EAAA;AAC/B,2BAAQI,GAAA,EAAc,SAAAN,GAAkB,WAAWI,EAAeL,CAAS,GAAG;AAChF;AAGO,SAASQ,IAA2B;AACzC,QAAM,EAAE,kBAAAC,GAAkB,SAAAR,EAAA,IAAYE,EAAA;AACtC,2BAAQO,GAAA,EAAe,SAAAT,GAAkB,WAAWI,EAAeI,CAAgB,GAAG;AACxF;AAGO,SAASE,IAA6B;AAC3C,QAAM,EAAE,kBAAAF,GAAkB,uBAAAG,GAAuB,SAAAX,EAAA,IAC/CE,EAAA;AACF,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAb;AAAA,MACA,gBAAgBI,EAAeI,CAAgB;AAAA,MAC/C,gBAAgBJ,EAAeO,CAAqB;AAAA,IAAA;AAAA,EAAA;AAG1D;AAGO,SAASG,IAA2B;AACzC,QAAM,EAAE,uBAAAC,GAAuB,WAAAhB,GAAW,SAAAC,GAAS,QAAAC,EAAA,IACjDC,EAAA;AAEF,SACE,gBAAAU;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAAAhB;AAAA,MACA,gBAAgBI,EAAeW,CAAqB;AAAA,MACpD,WAAWX,EAAeL,CAAS;AAAA,MACnC,QAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASgB,IAAgC;AAC9C,QAAM,EAAE,WAAAlB,GAAW,SAAAC,EAAA,IAAYE,EAAA;AAC/B,SACE,gBAAAU;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,WAAWd,EAAeL,CAAS;AAAA,MACnC,WAAW;AAAA,MACX,SAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"PaymentFlowComponents.js","sources":["../../../../../src/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.tsx"],"sourcesContent":["import { PaymentsListInternal } from '../PaymentsList/PaymentsList'\nimport { CreatePayment } from '../CreatePayment/CreatePayment'\nimport { PaymentHistory } from '../PaymentHistory/PaymentHistory'\nimport { PaymentStatement } from '../PaymentStatement/PaymentStatement'\nimport { PaymentSummaryInternal } from '../PaymentSummary/PaymentSummary'\nimport type { InternalAlert } from '../types'\nimport { InformationRequestsFlow } from '@/components/InformationRequests'\nimport { useFlow, type FlowContextInterface } from '@/components/Flow/useFlow'\nimport type { BaseComponentInterface } from '@/components/Base'\nimport type { BreadcrumbTrail } from '@/components/Common/FlowBreadcrumbs/FlowBreadcrumbsTypes'\nimport { ensureRequired } from '@/helpers/ensureRequired'\n\n/**\n * Props for {@link PaymentFlow}.\n *\n * @public\n */\nexport interface PaymentFlowProps extends BaseComponentInterface<never> {\n /** The associated company identifier. */\n companyId: string\n}\n\n/** @internal */\nexport interface PaymentFlowContextInterface extends FlowContextInterface {\n companyId: string\n breadcrumbs?: BreadcrumbTrail\n currentPaymentId?: string\n currentContractorUuid?: string\n createdPaymentGroupId?: string\n alerts?: InternalAlert[]\n}\n\n/** @internal */\nexport function PaymentListContextual() {\n const { companyId, onEvent, alerts } = useFlow<PaymentFlowContextInterface>()\n return (\n <PaymentsListInternal onEvent={onEvent} companyId={ensureRequired(companyId)} alerts={alerts} />\n )\n}\n\n/** @internal */\nexport function CreatePaymentContextual() {\n const { companyId, onEvent } = useFlow<PaymentFlowContextInterface>()\n return <CreatePayment onEvent={onEvent} companyId={ensureRequired(companyId)} />\n}\n\n/** @internal */\nexport function PaymentHistoryContextual() {\n const { currentPaymentId, onEvent } = useFlow<PaymentFlowContextInterface>()\n return <PaymentHistory onEvent={onEvent} paymentId={ensureRequired(currentPaymentId)} />\n}\n\n/** @internal */\nexport function PaymentStatementContextual() {\n const { currentPaymentId, currentContractorUuid, onEvent } =\n useFlow<PaymentFlowContextInterface>()\n return (\n <PaymentStatement\n onEvent={onEvent}\n paymentGroupId={ensureRequired(currentPaymentId)}\n contractorUuid={ensureRequired(currentContractorUuid)}\n />\n )\n}\n\n/** @internal */\nexport function PaymentSummaryContextual() {\n const { createdPaymentGroupId, companyId, onEvent, alerts } =\n useFlow<PaymentFlowContextInterface>()\n\n return (\n <PaymentSummaryInternal\n onEvent={onEvent}\n paymentGroupId={ensureRequired(createdPaymentGroupId)}\n companyId={ensureRequired(companyId)}\n alerts={alerts}\n />\n )\n}\n\n/** @internal */\nexport function InformationRequestsContextual() {\n const { companyId, onEvent } = useFlow<PaymentFlowContextInterface>()\n return (\n <InformationRequestsFlow\n companyId={ensureRequired(companyId)}\n withAlert={false}\n onEvent={onEvent}\n />\n )\n}\n"],"names":["PaymentListContextual","companyId","onEvent","alerts","useFlow","PaymentsListInternal","ensureRequired","CreatePaymentContextual","CreatePayment","PaymentHistoryContextual","currentPaymentId","PaymentHistory","PaymentStatementContextual","currentContractorUuid","jsx","PaymentStatement","PaymentSummaryContextual","createdPaymentGroupId","PaymentSummaryInternal","InformationRequestsContextual","InformationRequestsFlow"],"mappings":";;;;;;;;;AAiCO,SAASA,IAAwB;AACtC,QAAM,EAAE,WAAAC,GAAW,SAAAC,GAAS,QAAAC,EAAA,IAAWC,EAAA;AACvC,2BACGC,GAAA,EAAqB,SAAAH,GAAkB,WAAWI,EAAeL,CAAS,GAAG,QAAAE,GAAgB;AAElG;AAGO,SAASI,IAA0B;AACxC,QAAM,EAAE,WAAAN,GAAW,SAAAC,EAAA,IAAYE,EAAA;AAC/B,2BAAQI,GAAA,EAAc,SAAAN,GAAkB,WAAWI,EAAeL,CAAS,GAAG;AAChF;AAGO,SAASQ,IAA2B;AACzC,QAAM,EAAE,kBAAAC,GAAkB,SAAAR,EAAA,IAAYE,EAAA;AACtC,2BAAQO,GAAA,EAAe,SAAAT,GAAkB,WAAWI,EAAeI,CAAgB,GAAG;AACxF;AAGO,SAASE,IAA6B;AAC3C,QAAM,EAAE,kBAAAF,GAAkB,uBAAAG,GAAuB,SAAAX,EAAA,IAC/CE,EAAA;AACF,SACE,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,SAAAb;AAAA,MACA,gBAAgBI,EAAeI,CAAgB;AAAA,MAC/C,gBAAgBJ,EAAeO,CAAqB;AAAA,IAAA;AAAA,EAAA;AAG1D;AAGO,SAASG,IAA2B;AACzC,QAAM,EAAE,uBAAAC,GAAuB,WAAAhB,GAAW,SAAAC,GAAS,QAAAC,EAAA,IACjDC,EAAA;AAEF,SACE,gBAAAU;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAAAhB;AAAA,MACA,gBAAgBI,EAAeW,CAAqB;AAAA,MACpD,WAAWX,EAAeL,CAAS;AAAA,MACnC,QAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;AAGO,SAASgB,IAAgC;AAC9C,QAAM,EAAE,WAAAlB,GAAW,SAAAC,EAAA,IAAYE,EAAA;AAC/B,SACE,gBAAAU;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,WAAWd,EAAeL,CAAS;AAAA,MACnC,WAAW;AAAA,MACX,SAAAC;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -12,10 +12,15 @@ export interface PaymentSummaryProps {
12
12
  companyId: string;
13
13
  /** Callback invoked when a flow event occurs, e.g. when the user exits. */
14
14
  onEvent: (type: EventType, data?: unknown) => void;
15
- /**
16
- * @internal
17
- * Flow-injected alerts (e.g. wire-transfer confirmation).
18
- */
15
+ }
16
+ /**
17
+ * Props for the flow-internal {@link PaymentSummaryInternal}, which layers
18
+ * flow-injected alerts on top of the public {@link PaymentSummaryProps}.
19
+ *
20
+ * @internal
21
+ */
22
+ export interface PaymentSummaryInternalProps extends PaymentSummaryProps {
23
+ /** Flow-injected alerts (e.g. wire-transfer confirmation). */
19
24
  alerts?: InternalAlert[];
20
25
  }
21
26
  /**
@@ -38,4 +43,11 @@ export interface PaymentSummaryProps {
38
43
  * @returns The rendered payment summary, or `null` when the payment group cannot be loaded.
39
44
  * @public
40
45
  */
41
- export declare const PaymentSummary: ({ paymentGroupId, companyId, onEvent, alerts, }: PaymentSummaryProps) => import("react").JSX.Element | null;
46
+ export declare const PaymentSummary: (props: PaymentSummaryProps) => import("react").JSX.Element;
47
+ /**
48
+ * Flow-internal entry point for {@link PaymentSummary} that accepts flow-injected
49
+ * alerts. Partners use {@link PaymentSummary}; flows render this directly.
50
+ *
51
+ * @internal
52
+ */
53
+ export declare const PaymentSummaryInternal: ({ paymentGroupId, companyId, onEvent, alerts, }: PaymentSummaryInternalProps) => import("react").JSX.Element | null;
@@ -1,51 +1,52 @@
1
- import { jsx as p } from "react/jsx-runtime";
2
- import { useContractorPaymentGroupsGetSuspense as f } from "@gusto/embedded-api/react-query/contractorPaymentGroupsGet";
3
- import { useContractorsListSuspense as l } from "@gusto/embedded-api/react-query/contractorsList";
4
- import { useBankAccountsGet as y } from "@gusto/embedded-api/react-query/bankAccountsGet";
5
- import { PaymentSummaryPresentation as k } from "./PaymentSummaryPresentation.js";
6
- import { useI18n as P } from "../../../../i18n/I18n.js";
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { useContractorPaymentGroupsGetSuspense as l } from "@gusto/embedded-api/react-query/contractorPaymentGroupsGet";
3
+ import { useContractorsListSuspense as y } from "@gusto/embedded-api/react-query/contractorsList";
4
+ import { useBankAccountsGet as f } from "@gusto/embedded-api/react-query/bankAccountsGet";
5
+ import { PaymentSummaryPresentation as P } from "./PaymentSummaryPresentation.js";
6
+ import { useI18n as k } from "../../../../i18n/I18n.js";
7
7
  import { componentEvents as b } from "../../../../shared/constants.js";
8
- const A = (r = []) => {
9
- const t = r.find((n) => n.status === "unresolved");
8
+ const A = (o = []) => {
9
+ const t = o.find((r) => r.status === "unresolved");
10
10
  if (!t?.unblockOptions)
11
11
  return;
12
- const o = t.unblockOptions.find(
13
- (n) => n.unblockType === "submit_wire"
12
+ const n = t.unblockOptions.find(
13
+ (r) => r.unblockType === "submit_wire"
14
14
  );
15
- if (o && "metadata" in o)
16
- return o.metadata.wireInRequestUuid;
17
- }, w = ({
18
- paymentGroupId: r,
15
+ if (n && "metadata" in n)
16
+ return n.metadata.wireInRequestUuid;
17
+ }, B = (o) => /* @__PURE__ */ s(G, { ...o }), G = ({
18
+ paymentGroupId: o,
19
19
  companyId: t,
20
- onEvent: o,
21
- alerts: n
20
+ onEvent: n,
21
+ alerts: r
22
22
  }) => {
23
- P("Contractor.Payments.PaymentSummary");
24
- const { data: a } = f({
25
- contractorPaymentGroupUuid: r
26
- }), e = a.contractorPaymentGroup, { data: c } = l({ companyUuid: t }), i = (c.contractors || []).filter(
27
- (s) => s.isActive && s.onboardingStatus === "onboarding_completed"
28
- ), { data: u } = y({ companyId: t }), m = u?.companyBankAccounts?.[0];
23
+ k("Contractor.Payments.PaymentSummary");
24
+ const { data: c } = l({
25
+ contractorPaymentGroupUuid: o
26
+ }), e = c.contractorPaymentGroup, { data: u } = y({ companyUuid: t }), i = (u.contractors || []).filter(
27
+ (a) => a.isActive && a.onboardingStatus === "onboarding_completed"
28
+ ), { data: m } = f({ companyId: t }), d = m?.companyBankAccounts?.[0];
29
29
  if (!e)
30
30
  return null;
31
- const d = A(e.creditBlockers || []);
32
- return /* @__PURE__ */ p(
33
- k,
31
+ const p = A(e.creditBlockers || []);
32
+ return /* @__PURE__ */ s(
33
+ P,
34
34
  {
35
35
  contractorPaymentGroup: e,
36
36
  contractors: i,
37
- bankAccount: m,
38
- wireInRequestUuid: d,
37
+ bankAccount: d,
38
+ wireInRequestUuid: p,
39
39
  onDone: () => {
40
- o(b.CONTRACTOR_PAYMENT_EXIT);
40
+ n(b.CONTRACTOR_PAYMENT_EXIT);
41
41
  },
42
- onEvent: o,
42
+ onEvent: n,
43
43
  companyId: t,
44
- alerts: n
44
+ alerts: r
45
45
  }
46
46
  );
47
47
  };
48
48
  export {
49
- w as PaymentSummary
49
+ B as PaymentSummary,
50
+ G as PaymentSummaryInternal
50
51
  };
51
52
  //# sourceMappingURL=PaymentSummary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentSummary.js","sources":["../../../../../src/components/Contractor/Payments/PaymentSummary/PaymentSummary.tsx"],"sourcesContent":["import { useContractorPaymentGroupsGetSuspense } from '@gusto/embedded-api/react-query/contractorPaymentGroupsGet'\nimport { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useBankAccountsGet } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport type { PayrollCreditBlockerType } from '@gusto/embedded-api/models/components/payrollcreditblockertype'\nimport type { InternalAlert } from '../types'\nimport { PaymentSummaryPresentation } from './PaymentSummaryPresentation'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Props for {@link PaymentSummary}.\n *\n * @public\n */\nexport interface PaymentSummaryProps {\n /** UUID of the contractor payment group to summarize. */\n paymentGroupId: string\n /** UUID of the company that owns the payment group. */\n companyId: string\n /** Callback invoked when a flow event occurs, e.g. when the user exits. */\n onEvent: (type: EventType, data?: unknown) => void\n /**\n * @internal\n * Flow-injected alerts (e.g. wire-transfer confirmation).\n */\n alerts?: InternalAlert[]\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 => option.unblockType === 'submit_wire',\n )\n\n if (wireUnblockOption && 'metadata' in wireUnblockOption) {\n return wireUnblockOption.metadata.wireInRequestUuid\n }\n\n return undefined\n}\n\n/**\n * Displays a summary of a created contractor payment group, including payment totals, debit information, contractor details, and wire transfer instructions when required.\n *\n * @remarks\n * Features:\n *\n * - **Success confirmation** — confirms the number of payments scheduled.\n * - **Payment summary** — total amount, debit amount, debit account, debit date, and contractor pay date, plus a per-contractor breakdown.\n * - **Debit account** — shows the company bank account used for the debit.\n * - **Wire transfer confirmation** — when a wire is required, surfaces the wire-details confirmation workflow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/payments/exit` | User completes the payment flow. | — |\n *\n * @param props - Component props.\n * @returns The rendered payment summary, or `null` when the payment group cannot be loaded.\n * @public\n */\nexport const PaymentSummary = ({\n paymentGroupId,\n companyId,\n onEvent,\n alerts,\n}: PaymentSummaryProps) => {\n useI18n('Contractor.Payments.PaymentSummary')\n\n const { data: paymentGroupData } = useContractorPaymentGroupsGetSuspense({\n contractorPaymentGroupUuid: paymentGroupId,\n })\n const contractorPaymentGroup = paymentGroupData.contractorPaymentGroup\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractors || []).filter(\n contractor => contractor.isActive && contractor.onboardingStatus === 'onboarding_completed',\n )\n\n const { data: bankAccounts } = useBankAccountsGet({ companyId })\n const bankAccount = bankAccounts?.companyBankAccounts?.[0]\n\n if (!contractorPaymentGroup) {\n return null\n }\n\n const wireInRequestUuid = findWireInRequestUuid(contractorPaymentGroup.creditBlockers || [])\n\n const handleDone = () => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EXIT)\n }\n\n return (\n <PaymentSummaryPresentation\n contractorPaymentGroup={contractorPaymentGroup}\n contractors={contractors}\n bankAccount={bankAccount}\n wireInRequestUuid={wireInRequestUuid}\n onDone={handleDone}\n onEvent={onEvent}\n companyId={companyId}\n alerts={alerts}\n />\n )\n}\n"],"names":["findWireInRequestUuid","creditBlockers","unresolvedCreditBlocker","blocker","wireUnblockOption","option","PaymentSummary","paymentGroupId","companyId","onEvent","alerts","useI18n","paymentGroupData","useContractorPaymentGroupsGetSuspense","contractorPaymentGroup","contractorList","useContractorsListSuspense","contractors","contractor","bankAccounts","useBankAccountsGet","bankAccount","wireInRequestUuid","jsx","PaymentSummaryPresentation","componentEvents"],"mappings":";;;;;;;AA4BA,MAAMA,IAAwB,CAC5BC,IAA6C,OACtB;AACvB,QAAMC,IAA0BD,EAAe,KAAK,CAAAE,MAAWA,EAAQ,WAAW,YAAY;AAE9F,MAAI,CAACD,GAAyB;AAC5B;AAGF,QAAME,IAAoBF,EAAwB,eAAe;AAAA,IAC/D,CAAAG,MAAUA,EAAO,gBAAgB;AAAA,EAAA;AAGnC,MAAID,KAAqB,cAAcA;AACrC,WAAOA,EAAkB,SAAS;AAItC,GAsBaE,IAAiB,CAAC;AAAA,EAC7B,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AACF,MAA2B;AACzB,EAAAC,EAAQ,oCAAoC;AAE5C,QAAM,EAAE,MAAMC,EAAA,IAAqBC,EAAsC;AAAA,IACvE,4BAA4BN;AAAA,EAAA,CAC7B,GACKO,IAAyBF,EAAiB,wBAE1C,EAAE,MAAMG,EAAA,IAAmBC,EAA2B,EAAE,aAAaR,GAAW,GAChFS,KAAeF,EAAe,eAAe,CAAA,GAAI;AAAA,IACrD,CAAAG,MAAcA,EAAW,YAAYA,EAAW,qBAAqB;AAAA,EAAA,GAGjE,EAAE,MAAMC,EAAA,IAAiBC,EAAmB,EAAE,WAAAZ,GAAW,GACzDa,IAAcF,GAAc,sBAAsB,CAAC;AAEzD,MAAI,CAACL;AACH,WAAO;AAGT,QAAMQ,IAAoBtB,EAAsBc,EAAuB,kBAAkB,CAAA,CAAE;AAM3F,SACE,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,wBAAAV;AAAA,MACA,aAAAG;AAAA,MACA,aAAAI;AAAA,MACA,mBAAAC;AAAA,MACA,QAVe,MAAM;AACvB,QAAAb,EAAQgB,EAAgB,uBAAuB;AAAA,MACjD;AAAA,MASI,SAAAhB;AAAA,MACA,WAAAD;AAAA,MACA,QAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"PaymentSummary.js","sources":["../../../../../src/components/Contractor/Payments/PaymentSummary/PaymentSummary.tsx"],"sourcesContent":["import { useContractorPaymentGroupsGetSuspense } from '@gusto/embedded-api/react-query/contractorPaymentGroupsGet'\nimport { useContractorsListSuspense } from '@gusto/embedded-api/react-query/contractorsList'\nimport { useBankAccountsGet } from '@gusto/embedded-api/react-query/bankAccountsGet'\nimport type { PayrollCreditBlockerType } from '@gusto/embedded-api/models/components/payrollcreditblockertype'\nimport type { InternalAlert } from '../types'\nimport { PaymentSummaryPresentation } from './PaymentSummaryPresentation'\nimport { useI18n } from '@/i18n'\nimport { componentEvents, type EventType } from '@/shared/constants'\n\n/**\n * Props for {@link PaymentSummary}.\n *\n * @public\n */\nexport interface PaymentSummaryProps {\n /** UUID of the contractor payment group to summarize. */\n paymentGroupId: string\n /** UUID of the company that owns the payment group. */\n companyId: string\n /** Callback invoked when a flow event occurs, e.g. when the user exits. */\n onEvent: (type: EventType, data?: unknown) => void\n}\n\n/**\n * Props for the flow-internal {@link PaymentSummaryInternal}, which layers\n * flow-injected alerts on top of the public {@link PaymentSummaryProps}.\n *\n * @internal\n */\nexport interface PaymentSummaryInternalProps extends PaymentSummaryProps {\n /** Flow-injected alerts (e.g. wire-transfer confirmation). */\n alerts?: InternalAlert[]\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 => option.unblockType === 'submit_wire',\n )\n\n if (wireUnblockOption && 'metadata' in wireUnblockOption) {\n return wireUnblockOption.metadata.wireInRequestUuid\n }\n\n return undefined\n}\n\n/**\n * Displays a summary of a created contractor payment group, including payment totals, debit information, contractor details, and wire transfer instructions when required.\n *\n * @remarks\n * Features:\n *\n * - **Success confirmation** — confirms the number of payments scheduled.\n * - **Payment summary** — total amount, debit amount, debit account, debit date, and contractor pay date, plus a per-contractor breakdown.\n * - **Debit account** — shows the company bank account used for the debit.\n * - **Wire transfer confirmation** — when a wire is required, surfaces the wire-details confirmation workflow.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/payments/exit` | User completes the payment flow. | — |\n *\n * @param props - Component props.\n * @returns The rendered payment summary, or `null` when the payment group cannot be loaded.\n * @public\n */\nexport const PaymentSummary = (props: PaymentSummaryProps) => <PaymentSummaryInternal {...props} />\n\n/**\n * Flow-internal entry point for {@link PaymentSummary} that accepts flow-injected\n * alerts. Partners use {@link PaymentSummary}; flows render this directly.\n *\n * @internal\n */\nexport const PaymentSummaryInternal = ({\n paymentGroupId,\n companyId,\n onEvent,\n alerts,\n}: PaymentSummaryInternalProps) => {\n useI18n('Contractor.Payments.PaymentSummary')\n\n const { data: paymentGroupData } = useContractorPaymentGroupsGetSuspense({\n contractorPaymentGroupUuid: paymentGroupId,\n })\n const contractorPaymentGroup = paymentGroupData.contractorPaymentGroup\n\n const { data: contractorList } = useContractorsListSuspense({ companyUuid: companyId })\n const contractors = (contractorList.contractors || []).filter(\n contractor => contractor.isActive && contractor.onboardingStatus === 'onboarding_completed',\n )\n\n const { data: bankAccounts } = useBankAccountsGet({ companyId })\n const bankAccount = bankAccounts?.companyBankAccounts?.[0]\n\n if (!contractorPaymentGroup) {\n return null\n }\n\n const wireInRequestUuid = findWireInRequestUuid(contractorPaymentGroup.creditBlockers || [])\n\n const handleDone = () => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_EXIT)\n }\n\n return (\n <PaymentSummaryPresentation\n contractorPaymentGroup={contractorPaymentGroup}\n contractors={contractors}\n bankAccount={bankAccount}\n wireInRequestUuid={wireInRequestUuid}\n onDone={handleDone}\n onEvent={onEvent}\n companyId={companyId}\n alerts={alerts}\n />\n )\n}\n"],"names":["findWireInRequestUuid","creditBlockers","unresolvedCreditBlocker","blocker","wireUnblockOption","option","PaymentSummary","props","jsx","PaymentSummaryInternal","paymentGroupId","companyId","onEvent","alerts","useI18n","paymentGroupData","useContractorPaymentGroupsGetSuspense","contractorPaymentGroup","contractorList","useContractorsListSuspense","contractors","contractor","bankAccounts","useBankAccountsGet","bankAccount","wireInRequestUuid","PaymentSummaryPresentation","componentEvents"],"mappings":";;;;;;;AAkCA,MAAMA,IAAwB,CAC5BC,IAA6C,OACtB;AACvB,QAAMC,IAA0BD,EAAe,KAAK,CAAAE,MAAWA,EAAQ,WAAW,YAAY;AAE9F,MAAI,CAACD,GAAyB;AAC5B;AAGF,QAAME,IAAoBF,EAAwB,eAAe;AAAA,IAC/D,CAAAG,MAAUA,EAAO,gBAAgB;AAAA,EAAA;AAGnC,MAAID,KAAqB,cAAcA;AACrC,WAAOA,EAAkB,SAAS;AAItC,GAsBaE,IAAiB,CAACC,MAA+B,gBAAAC,EAACC,GAAA,EAAwB,GAAGF,EAAA,CAAO,GAQpFE,IAAyB,CAAC;AAAA,EACrC,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AACF,MAAmC;AACjC,EAAAC,EAAQ,oCAAoC;AAE5C,QAAM,EAAE,MAAMC,EAAA,IAAqBC,EAAsC;AAAA,IACvE,4BAA4BN;AAAA,EAAA,CAC7B,GACKO,IAAyBF,EAAiB,wBAE1C,EAAE,MAAMG,EAAA,IAAmBC,EAA2B,EAAE,aAAaR,GAAW,GAChFS,KAAeF,EAAe,eAAe,CAAA,GAAI;AAAA,IACrD,CAAAG,MAAcA,EAAW,YAAYA,EAAW,qBAAqB;AAAA,EAAA,GAGjE,EAAE,MAAMC,EAAA,IAAiBC,EAAmB,EAAE,WAAAZ,GAAW,GACzDa,IAAcF,GAAc,sBAAsB,CAAC;AAEzD,MAAI,CAACL;AACH,WAAO;AAGT,QAAMQ,IAAoBzB,EAAsBiB,EAAuB,kBAAkB,CAAA,CAAE;AAM3F,SACE,gBAAAT;AAAA,IAACkB;AAAA,IAAA;AAAA,MACC,wBAAAT;AAAA,MACA,aAAAG;AAAA,MACA,aAAAI;AAAA,MACA,mBAAAC;AAAA,MACA,QAVe,MAAM;AACvB,QAAAb,EAAQe,EAAgB,uBAAuB;AAAA,MACjD;AAAA,MASI,SAAAf;AAAA,MACA,WAAAD;AAAA,MACA,QAAAE;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -8,10 +8,15 @@ import { BaseComponentInterface } from '../../../Base';
8
8
  export interface PaymentsListProps extends BaseComponentInterface<'Contractor.Payments.PaymentsList'> {
9
9
  /** UUID of the company whose contractor payment groups should be listed. */
10
10
  companyId: string;
11
- /**
12
- * @internal
13
- * Flow-injected alerts (e.g. wire-transfer confirmation, payment cancellation).
14
- */
11
+ }
12
+ /**
13
+ * Props for the flow-internal {@link PaymentsListInternal}, which layers
14
+ * flow-injected alerts on top of the public {@link PaymentsListProps}.
15
+ *
16
+ * @internal
17
+ */
18
+ export interface PaymentsListInternalProps extends PaymentsListProps {
19
+ /** Flow-injected alerts (e.g. wire-transfer confirmation, payment cancellation). */
15
20
  alerts?: InternalAlert[];
16
21
  }
17
22
  /**
@@ -32,3 +37,10 @@ export interface PaymentsListProps extends BaseComponentInterface<'Contractor.Pa
32
37
  * @public
33
38
  */
34
39
  export declare function PaymentsList(props: PaymentsListProps): import("react").JSX.Element;
40
+ /**
41
+ * Flow-internal entry point for {@link PaymentsList} that accepts flow-injected
42
+ * alerts. Partners use {@link PaymentsList}; flows render this directly.
43
+ *
44
+ * @internal
45
+ */
46
+ export declare function PaymentsListInternal(props: PaymentsListInternalProps): import("react").JSX.Element;
@@ -1,48 +1,51 @@
1
- import { jsx as p } from "react/jsx-runtime";
1
+ import { jsx as a } from "react/jsx-runtime";
2
2
  import { useState as b, useMemo as i, useCallback as k } from "react";
3
- import { useContractorPaymentGroupsGetListSuspense as B } from "@gusto/embedded-api/react-query/contractorPaymentGroupsGetList";
4
- import { useInformationRequestsGetInformationRequestsSuspense as L } from "@gusto/embedded-api/react-query/informationRequestsGetInformationRequests";
3
+ import { useContractorPaymentGroupsGetListSuspense as L } from "@gusto/embedded-api/react-query/contractorPaymentGroupsGetList";
4
+ import { useInformationRequestsGetInformationRequestsSuspense as B } from "@gusto/embedded-api/react-query/informationRequestsGetInformationRequests";
5
5
  import { InformationRequestStatus as g } from "@gusto/embedded-api/models/components/informationrequest";
6
6
  import { PaymentsListPresentation as E } from "./PaymentsListPresentation.js";
7
7
  import { useComponentDictionary as G } from "../../../../i18n/I18n.js";
8
8
  import { BaseComponent as v } from "../../../Base/Base.js";
9
9
  import "../../../Base/useBase.js";
10
- import { componentEvents as u } from "../../../../shared/constants.js";
10
+ import { componentEvents as p } from "../../../../shared/constants.js";
11
11
  import { usePagination as U } from "../../../../hooks/usePagination/usePagination.js";
12
- function $(t) {
13
- return /* @__PURE__ */ p(v, { ...t, children: /* @__PURE__ */ p(Y, { ...t, children: t.children }) });
12
+ function tt(t) {
13
+ return /* @__PURE__ */ a(W, { ...t });
14
14
  }
15
- const W = (t = 3) => {
15
+ function W(t) {
16
+ return /* @__PURE__ */ a(v, { ...t, children: /* @__PURE__ */ a(x, { ...t, children: t.children }) });
17
+ }
18
+ const Y = (t = 3) => {
16
19
  const o = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
17
20
  return e.setMonth(e.getMonth() - t), o.setMonth(o.getMonth() + (12 - t)), {
18
21
  startDate: e.toISOString().split("T")[0] || "",
19
22
  endDate: o.toISOString().split("T")[0] || ""
20
23
  };
21
- }, Y = ({ companyId: t, dictionary: o, onEvent: e, alerts: f }) => {
24
+ }, x = ({ companyId: t, dictionary: o, onEvent: e, alerts: f }) => {
22
25
  G("Contractor.Payments.PaymentsList", o);
23
- const [a, h] = b(3), { currentPage: C, itemsPerPage: D, getPaginationProps: T } = U(), { startDate: y, endDate: O } = i(() => W(a), [a]), { data: R } = B({
26
+ const [c, h] = b(3), { currentPage: C, itemsPerPage: D, getPaginationProps: T } = U(), { startDate: y, endDate: O } = i(() => Y(c), [c]), { data: R } = L({
24
27
  companyId: t,
25
28
  startDate: y,
26
29
  endDate: O,
27
30
  page: C,
28
31
  per: D
29
- }), c = R.contractorPaymentGroupWithBlockers || [], A = T(R.httpMeta.response.headers), { data: M } = L({
32
+ }), m = R.contractorPaymentGroupWithBlockers || [], A = T(R.httpMeta.response.headers), { data: M } = B({
30
33
  companyUuid: t
31
- }), m = M.informationRequests ?? [], w = i(() => c.some((n) => (n.creditBlockers || []).some((r) => {
34
+ }), u = M.informationRequests ?? [], w = i(() => m.some((n) => (n.creditBlockers || []).some((r) => {
32
35
  if (r.status !== "unresolved") return !1;
33
36
  const s = r.unblockOptions?.find(
34
- (I) => I.unblockType === "submit_wire"
37
+ (_) => _.unblockType === "submit_wire"
35
38
  );
36
39
  return s && "metadata" in s && s.metadata.wireInRequestUuid;
37
- })), [c]), l = k(() => {
38
- e(u.CONTRACTOR_PAYMENT_RFI_RESPOND);
39
- }, [e]), d = i(() => {
40
- const n = [], P = m.some(
40
+ })), [m]), l = k(() => {
41
+ e(p.CONTRACTOR_PAYMENT_RFI_RESPOND);
42
+ }, [e]), P = i(() => {
43
+ const n = [], d = u.some(
41
44
  (s) => s.status === g.PendingResponse
42
- ), r = m.some(
45
+ ), r = u.some(
43
46
  (s) => s.status === g.PendingReview
44
47
  );
45
- return P ? n.push({
48
+ return d ? n.push({
46
49
  type: "error",
47
50
  title: "rfiPendingResponseTitle",
48
51
  content: "rfiPendingResponseDescription",
@@ -53,22 +56,22 @@ const W = (t = 3) => {
53
56
  title: "rfiPendingReviewTitle",
54
57
  content: "rfiPendingReviewDescription"
55
58
  }), n;
56
- }, [m, l]), S = () => {
57
- e(u.CONTRACTOR_PAYMENT_CREATE);
59
+ }, [u, l]), S = () => {
60
+ e(p.CONTRACTOR_PAYMENT_CREATE);
58
61
  }, q = (n) => {
59
62
  h(n);
60
- }, N = (n) => {
61
- e(u.CONTRACTOR_PAYMENT_VIEW, { paymentId: n });
62
- }, _ = i(() => [...d, ...f || []], [d, f]);
63
- return /* @__PURE__ */ p(
63
+ }, I = (n) => {
64
+ e(p.CONTRACTOR_PAYMENT_VIEW, { paymentId: n });
65
+ }, N = i(() => [...P, ...f || []], [P, f]);
66
+ return /* @__PURE__ */ a(
64
67
  E,
65
68
  {
66
- contractorPayments: c,
67
- numberOfMonths: a,
69
+ contractorPayments: m,
70
+ numberOfMonths: c,
68
71
  onCreatePayment: S,
69
72
  onDateRangeChange: q,
70
- onViewPayment: N,
71
- alerts: _,
73
+ onViewPayment: I,
74
+ alerts: N,
72
75
  companyId: t,
73
76
  hasUnresolvedWireInRequests: w,
74
77
  onEvent: e,
@@ -77,6 +80,7 @@ const W = (t = 3) => {
77
80
  );
78
81
  };
79
82
  export {
80
- $ as PaymentsList
83
+ tt as PaymentsList,
84
+ W as PaymentsListInternal
81
85
  };
82
86
  //# sourceMappingURL=PaymentsList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentsList.js","sources":["../../../../../src/components/Contractor/Payments/PaymentsList/PaymentsList.tsx"],"sourcesContent":["import { useState, useMemo, useCallback } from 'react'\nimport { useContractorPaymentGroupsGetListSuspense } from '@gusto/embedded-api/react-query/contractorPaymentGroupsGetList'\nimport { useInformationRequestsGetInformationRequestsSuspense } from '@gusto/embedded-api/react-query/informationRequestsGetInformationRequests'\nimport { InformationRequestStatus } from '@gusto/embedded-api/models/components/informationrequest'\nimport type { InternalAlert } from '../types'\nimport { PaymentsListPresentation } from './PaymentsListPresentation'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\n\n/**\n * Props for {@link PaymentsList}.\n *\n * @public\n */\nexport interface PaymentsListProps extends BaseComponentInterface<'Contractor.Payments.PaymentsList'> {\n /** UUID of the company whose contractor payment groups should be listed. */\n companyId: string\n /**\n * @internal\n * Flow-injected alerts (e.g. wire-transfer confirmation, payment cancellation).\n */\n alerts?: InternalAlert[]\n}\n\n/**\n * Displays a list of contractor payment groups for a company.\n *\n * Supports viewing payment history, creating new payments, and filtering by date range.\n * Surfaces alerts for pending information requests and wire transfer requirements.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/payments/create` | User chooses to create a new payment | — |\n * | `contractor/payments/view` | User selects a payment group to view | `{ paymentId: string }` |\n * | `contractor/payments/rfi/respond` | User clicks to respond to an information request alert | — |\n *\n * @param props - Component props.\n * @returns The rendered payments list.\n * @public\n */\nexport function PaymentsList(props: PaymentsListProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst calculateDateRange = (months: number = 3) => {\n const endDate = new Date()\n const startDate = new Date()\n\n startDate.setMonth(startDate.getMonth() - months)\n //Max range allowed by the API is 12 months\n endDate.setMonth(endDate.getMonth() + (12 - months))\n\n return {\n startDate: startDate.toISOString().split('T')[0] || '',\n endDate: endDate.toISOString().split('T')[0] || '',\n }\n}\n\nconst Root = ({ companyId, dictionary, onEvent, alerts }: PaymentsListProps) => {\n useComponentDictionary('Contractor.Payments.PaymentsList', dictionary)\n\n const [numberOfMonths, setNumberOfMonths] = useState(3)\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const { startDate, endDate } = useMemo(() => calculateDateRange(numberOfMonths), [numberOfMonths])\n\n const { data } = useContractorPaymentGroupsGetListSuspense({\n companyId,\n startDate,\n endDate,\n page: currentPage,\n per: itemsPerPage,\n })\n const contractorPayments = data.contractorPaymentGroupWithBlockers || []\n const paginationProps = getPaginationProps(data.httpMeta.response.headers)\n\n const { data: informationRequestsData } = useInformationRequestsGetInformationRequestsSuspense({\n companyUuid: companyId,\n })\n const informationRequests = informationRequestsData.informationRequests ?? []\n\n const hasUnresolvedWireInRequests = useMemo(() => {\n return contractorPayments.some(payment => {\n const creditBlockers = payment.creditBlockers || []\n return creditBlockers.some(blocker => {\n if (blocker.status !== 'unresolved') return false\n const wireOption = blocker.unblockOptions?.find(\n option => option.unblockType === 'submit_wire',\n )\n return wireOption && 'metadata' in wireOption && wireOption.metadata.wireInRequestUuid\n })\n })\n }, [contractorPayments])\n\n const handleRespondToRfi = useCallback(() => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND)\n }, [onEvent])\n\n const rfiAlerts = useMemo(() => {\n const rfiAlertsArray: InternalAlert[] = []\n\n const hasPendingResponseRfis = informationRequests.some(\n request => request.status === InformationRequestStatus.PendingResponse,\n )\n const hasPendingReviewRfis = informationRequests.some(\n request => request.status === InformationRequestStatus.PendingReview,\n )\n\n if (hasPendingResponseRfis) {\n rfiAlertsArray.push({\n type: 'error',\n title: 'rfiPendingResponseTitle',\n content: 'rfiPendingResponseDescription',\n onAction: handleRespondToRfi,\n actionLabel: 'rfiRespondCta',\n })\n } else if (hasPendingReviewRfis) {\n rfiAlertsArray.push({\n type: 'info',\n title: 'rfiPendingReviewTitle',\n content: 'rfiPendingReviewDescription',\n })\n }\n\n return rfiAlertsArray\n }, [informationRequests, handleRespondToRfi])\n\n const onCreatePayment = () => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATE)\n }\n\n const handleDateRangeChange = (numberOfMonths: number) => {\n setNumberOfMonths(numberOfMonths)\n }\n\n const onViewPayment = (paymentId: string) => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_VIEW, { paymentId })\n }\n\n const allAlerts = useMemo(() => {\n return [...rfiAlerts, ...(alerts || [])]\n }, [rfiAlerts, alerts])\n\n return (\n <PaymentsListPresentation\n contractorPayments={contractorPayments}\n numberOfMonths={numberOfMonths}\n onCreatePayment={onCreatePayment}\n onDateRangeChange={handleDateRangeChange}\n onViewPayment={onViewPayment}\n alerts={allAlerts}\n companyId={companyId}\n hasUnresolvedWireInRequests={hasUnresolvedWireInRequests}\n onEvent={onEvent}\n paginationProps={paginationProps}\n />\n )\n}\n"],"names":["PaymentsList","props","jsx","BaseComponent","Root","calculateDateRange","months","endDate","startDate","companyId","dictionary","onEvent","alerts","useComponentDictionary","numberOfMonths","setNumberOfMonths","useState","currentPage","itemsPerPage","getPaginationProps","usePagination","useMemo","data","useContractorPaymentGroupsGetListSuspense","contractorPayments","paginationProps","informationRequestsData","useInformationRequestsGetInformationRequestsSuspense","informationRequests","hasUnresolvedWireInRequests","payment","blocker","wireOption","option","handleRespondToRfi","useCallback","componentEvents","rfiAlerts","rfiAlertsArray","hasPendingResponseRfis","request","InformationRequestStatus","hasPendingReviewRfis","onCreatePayment","handleDateRangeChange","onViewPayment","paymentId","allAlerts","PaymentsListPresentation"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentsList.js","sources":["../../../../../src/components/Contractor/Payments/PaymentsList/PaymentsList.tsx"],"sourcesContent":["import { useState, useMemo, useCallback } from 'react'\nimport { useContractorPaymentGroupsGetListSuspense } from '@gusto/embedded-api/react-query/contractorPaymentGroupsGetList'\nimport { useInformationRequestsGetInformationRequestsSuspense } from '@gusto/embedded-api/react-query/informationRequestsGetInformationRequests'\nimport { InformationRequestStatus } from '@gusto/embedded-api/models/components/informationrequest'\nimport type { InternalAlert } from '../types'\nimport { PaymentsListPresentation } from './PaymentsListPresentation'\nimport { useComponentDictionary } from '@/i18n'\nimport { BaseComponent, type BaseComponentInterface } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\nimport { usePagination } from '@/hooks/usePagination/usePagination'\n\n/**\n * Props for {@link PaymentsList}.\n *\n * @public\n */\nexport interface PaymentsListProps extends BaseComponentInterface<'Contractor.Payments.PaymentsList'> {\n /** UUID of the company whose contractor payment groups should be listed. */\n companyId: string\n}\n\n/**\n * Props for the flow-internal {@link PaymentsListInternal}, which layers\n * flow-injected alerts on top of the public {@link PaymentsListProps}.\n *\n * @internal\n */\nexport interface PaymentsListInternalProps extends PaymentsListProps {\n /** Flow-injected alerts (e.g. wire-transfer confirmation, payment cancellation). */\n alerts?: InternalAlert[]\n}\n\n/**\n * Displays a list of contractor payment groups for a company.\n *\n * Supports viewing payment history, creating new payments, and filtering by date range.\n * Surfaces alerts for pending information requests and wire transfer requirements.\n *\n * @events\n * | Event | Description | Data |\n * | ----- | ----------- | ---- |\n * | `contractor/payments/create` | User chooses to create a new payment | — |\n * | `contractor/payments/view` | User selects a payment group to view | `{ paymentId: string }` |\n * | `contractor/payments/rfi/respond` | User clicks to respond to an information request alert | — |\n *\n * @param props - Component props.\n * @returns The rendered payments list.\n * @public\n */\nexport function PaymentsList(props: PaymentsListProps) {\n return <PaymentsListInternal {...props} />\n}\n\n/**\n * Flow-internal entry point for {@link PaymentsList} that accepts flow-injected\n * alerts. Partners use {@link PaymentsList}; flows render this directly.\n *\n * @internal\n */\nexport function PaymentsListInternal(props: PaymentsListInternalProps) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nconst calculateDateRange = (months: number = 3) => {\n const endDate = new Date()\n const startDate = new Date()\n\n startDate.setMonth(startDate.getMonth() - months)\n //Max range allowed by the API is 12 months\n endDate.setMonth(endDate.getMonth() + (12 - months))\n\n return {\n startDate: startDate.toISOString().split('T')[0] || '',\n endDate: endDate.toISOString().split('T')[0] || '',\n }\n}\n\nconst Root = ({ companyId, dictionary, onEvent, alerts }: PaymentsListInternalProps) => {\n useComponentDictionary('Contractor.Payments.PaymentsList', dictionary)\n\n const [numberOfMonths, setNumberOfMonths] = useState(3)\n const { currentPage, itemsPerPage, getPaginationProps } = usePagination()\n\n const { startDate, endDate } = useMemo(() => calculateDateRange(numberOfMonths), [numberOfMonths])\n\n const { data } = useContractorPaymentGroupsGetListSuspense({\n companyId,\n startDate,\n endDate,\n page: currentPage,\n per: itemsPerPage,\n })\n const contractorPayments = data.contractorPaymentGroupWithBlockers || []\n const paginationProps = getPaginationProps(data.httpMeta.response.headers)\n\n const { data: informationRequestsData } = useInformationRequestsGetInformationRequestsSuspense({\n companyUuid: companyId,\n })\n const informationRequests = informationRequestsData.informationRequests ?? []\n\n const hasUnresolvedWireInRequests = useMemo(() => {\n return contractorPayments.some(payment => {\n const creditBlockers = payment.creditBlockers || []\n return creditBlockers.some(blocker => {\n if (blocker.status !== 'unresolved') return false\n const wireOption = blocker.unblockOptions?.find(\n option => option.unblockType === 'submit_wire',\n )\n return wireOption && 'metadata' in wireOption && wireOption.metadata.wireInRequestUuid\n })\n })\n }, [contractorPayments])\n\n const handleRespondToRfi = useCallback(() => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_RFI_RESPOND)\n }, [onEvent])\n\n const rfiAlerts = useMemo(() => {\n const rfiAlertsArray: InternalAlert[] = []\n\n const hasPendingResponseRfis = informationRequests.some(\n request => request.status === InformationRequestStatus.PendingResponse,\n )\n const hasPendingReviewRfis = informationRequests.some(\n request => request.status === InformationRequestStatus.PendingReview,\n )\n\n if (hasPendingResponseRfis) {\n rfiAlertsArray.push({\n type: 'error',\n title: 'rfiPendingResponseTitle',\n content: 'rfiPendingResponseDescription',\n onAction: handleRespondToRfi,\n actionLabel: 'rfiRespondCta',\n })\n } else if (hasPendingReviewRfis) {\n rfiAlertsArray.push({\n type: 'info',\n title: 'rfiPendingReviewTitle',\n content: 'rfiPendingReviewDescription',\n })\n }\n\n return rfiAlertsArray\n }, [informationRequests, handleRespondToRfi])\n\n const onCreatePayment = () => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_CREATE)\n }\n\n const handleDateRangeChange = (numberOfMonths: number) => {\n setNumberOfMonths(numberOfMonths)\n }\n\n const onViewPayment = (paymentId: string) => {\n onEvent(componentEvents.CONTRACTOR_PAYMENT_VIEW, { paymentId })\n }\n\n const allAlerts = useMemo(() => {\n return [...rfiAlerts, ...(alerts || [])]\n }, [rfiAlerts, alerts])\n\n return (\n <PaymentsListPresentation\n contractorPayments={contractorPayments}\n numberOfMonths={numberOfMonths}\n onCreatePayment={onCreatePayment}\n onDateRangeChange={handleDateRangeChange}\n onViewPayment={onViewPayment}\n alerts={allAlerts}\n companyId={companyId}\n hasUnresolvedWireInRequests={hasUnresolvedWireInRequests}\n onEvent={onEvent}\n paginationProps={paginationProps}\n />\n )\n}\n"],"names":["PaymentsList","props","jsx","PaymentsListInternal","BaseComponent","Root","calculateDateRange","months","endDate","startDate","companyId","dictionary","onEvent","alerts","useComponentDictionary","numberOfMonths","setNumberOfMonths","useState","currentPage","itemsPerPage","getPaginationProps","usePagination","useMemo","data","useContractorPaymentGroupsGetListSuspense","contractorPayments","paginationProps","informationRequestsData","useInformationRequestsGetInformationRequestsSuspense","informationRequests","hasUnresolvedWireInRequests","payment","blocker","wireOption","option","handleRespondToRfi","useCallback","componentEvents","rfiAlerts","rfiAlertsArray","hasPendingResponseRfis","request","InformationRequestStatus","hasPendingReviewRfis","onCreatePayment","handleDateRangeChange","onViewPayment","paymentId","allAlerts","PaymentsListPresentation"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsxs as o, jsx as t } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as o } from "react/jsx-runtime";
2
2
  import { useTranslation as N } from "react-i18next";
3
3
  import u from "./PaymentsListPresentation.module.scss.js";
4
4
  import { Flex as i } from "../../../Common/Flex/Flex.js";
@@ -1,48 +1,49 @@
1
- import { jsx as i, jsxs as o, Fragment as p } from "react/jsx-runtime";
1
+ import { jsx as i, jsxs as t, Fragment as p } from "react/jsx-runtime";
2
2
  import { useTranslation as g } from "react-i18next";
3
3
  import b from "classnames";
4
4
  import { useContractorDetailsForm as h } from "./shared/useContractorDetailsForm/useContractorDetailsForm.js";
5
5
  import D from "./ContractorProfile.module.scss.js";
6
- import { BaseLayout as m } from "../../Base/Base.js";
6
+ import { BaseLayout as d } from "../../Base/Base.js";
7
7
  import "../../Base/useBase.js";
8
8
  import { SDKFormProvider as E } from "../../../partner-hook-utils/form/SDKFormProvider.js";
9
9
  import { Form as O } from "../../Common/Form/Form.js";
10
10
  import { Flex as a } from "../../Common/Flex/Flex.js";
11
11
  import { useComponentContext as N } from "../../../contexts/ComponentAdapter/useComponentContext.js";
12
12
  import "react";
13
- import { componentEvents as d } from "../../../shared/constants.js";
13
+ import { componentEvents as m } from "../../../shared/constants.js";
14
14
  const R = {
15
15
  update: ["businessName", "ein"]
16
16
  };
17
17
  function A({
18
- contractorId: c,
18
+ contractorId: u,
19
19
  onEvent: l,
20
- className: u
20
+ className: c
21
21
  }) {
22
- const { t: e } = g("Contractor.Profile"), t = N(), n = h({
23
- contractorId: c,
22
+ const { t: e } = g("Contractor.Profile"), s = N(), n = h({
23
+ contractorId: u,
24
24
  withSelfOnboardingField: !1,
25
25
  defaultValues: { selfOnboarding: !0 },
26
26
  optionalFieldsToRequire: R
27
27
  });
28
28
  if (n.isLoading)
29
- return /* @__PURE__ */ i(m, { isLoading: !0, error: n.errorHandling.errors });
29
+ return /* @__PURE__ */ i(d, { isLoading: !0, error: n.errorHandling.errors });
30
30
  const { Fields: r } = n.form, f = async () => {
31
- const s = await n.actions.onSubmit();
32
- s && (l(d.CONTRACTOR_UPDATED, s.data), l(d.CONTRACTOR_PROFILE_DONE, {
33
- contractorId: s.data.uuid,
31
+ const o = await n.actions.onSubmit();
32
+ o && (l(m.CONTRACTOR_UPDATED, o.data), l(m.CONTRACTOR_PROFILE_DONE, {
33
+ contractorId: o.data.uuid,
34
+ onboardingStatus: o.data.onboardingStatus,
34
35
  selfOnboarding: !0
35
36
  }));
36
37
  };
37
- return /* @__PURE__ */ i("section", { className: b(D.root, u), children: /* @__PURE__ */ i(m, { error: n.errorHandling.errors, children: /* @__PURE__ */ i(E, { formHookResult: n, children: /* @__PURE__ */ o(O, { onSubmit: () => {
38
+ return /* @__PURE__ */ i("section", { className: b(D.root, c), children: /* @__PURE__ */ i(d, { error: n.errorHandling.errors, children: /* @__PURE__ */ i(E, { formHookResult: n, children: /* @__PURE__ */ t(O, { onSubmit: () => {
38
39
  f();
39
40
  }, children: [
40
- /* @__PURE__ */ o(a, { flexDirection: "column", gap: 20, alignItems: "stretch", children: [
41
- /* @__PURE__ */ i("header", { children: /* @__PURE__ */ o(a, { flexDirection: "column", gap: 4, children: [
42
- /* @__PURE__ */ i(t.Heading, { as: "h2", children: e("selfOnboarding.title") }),
43
- /* @__PURE__ */ i(t.Text, { variant: "supporting", children: e("selfOnboarding.businessDescription") })
41
+ /* @__PURE__ */ t(a, { flexDirection: "column", gap: 20, alignItems: "stretch", children: [
42
+ /* @__PURE__ */ i("header", { children: /* @__PURE__ */ t(a, { flexDirection: "column", gap: 4, children: [
43
+ /* @__PURE__ */ i(s.Heading, { as: "h2", children: e("selfOnboarding.title") }),
44
+ /* @__PURE__ */ i(s.Text, { variant: "supporting", children: e("selfOnboarding.businessDescription") })
44
45
  ] }) }),
45
- r.BusinessName && /* @__PURE__ */ o(p, { children: [
46
+ r.BusinessName && /* @__PURE__ */ t(p, { children: [
46
47
  /* @__PURE__ */ i(
47
48
  r.BusinessName,
48
49
  {
@@ -63,7 +64,7 @@ function A({
63
64
  ] })
64
65
  ] }),
65
66
  /* @__PURE__ */ i(a, { gap: 12, justifyContent: "flex-end", children: /* @__PURE__ */ i(
66
- t.Button,
67
+ s.Button,
67
68
  {
68
69
  type: "submit",
69
70
  variant: "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"BusinessSelfOnboardingProfile.js","sources":["../../../../src/components/Contractor/Profile/BusinessSelfOnboardingProfile.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport {\n useContractorDetailsForm,\n type ContractorDetailsOptionalFieldsToRequire,\n} from './shared/useContractorDetailsForm'\nimport type { ContractorSelfOnboardingProfileProps } from './SelfOnboardingContractorProfile'\nimport styles from './ContractorProfile.module.scss'\nimport { BaseLayout } from '@/components/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { Form } from '@/components/Common/Form'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { componentEvents } from '@/shared/constants'\n\nconst BUSINESS_REQUIRED_FIELDS: ContractorDetailsOptionalFieldsToRequire = {\n update: ['businessName', 'ein'],\n}\n\n/**\n * Self-onboarding profile for a business contractor — collects business name\n * and EIN.\n *\n * @internal\n */\nexport function BusinessSelfOnboardingProfile({\n contractorId,\n onEvent,\n className,\n}: ContractorSelfOnboardingProfileProps) {\n const { t } = useTranslation('Contractor.Profile')\n const Components = useComponentContext()\n\n const contractor = useContractorDetailsForm({\n contractorId,\n withSelfOnboardingField: false,\n defaultValues: { selfOnboarding: true },\n optionalFieldsToRequire: BUSINESS_REQUIRED_FIELDS,\n })\n\n if (contractor.isLoading) {\n return <BaseLayout isLoading error={contractor.errorHandling.errors} />\n }\n\n const { Fields } = contractor.form\n\n const handleSubmit = async () => {\n const result = await contractor.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.CONTRACTOR_UPDATED, result.data)\n onEvent(componentEvents.CONTRACTOR_PROFILE_DONE, {\n contractorId: result.data.uuid,\n selfOnboarding: true,\n })\n }\n\n return (\n <section className={classNames(styles.root, className)}>\n <BaseLayout error={contractor.errorHandling.errors}>\n <SDKFormProvider formHookResult={contractor}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"stretch\">\n <header>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('selfOnboarding.title')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('selfOnboarding.businessDescription')}\n </Components.Text>\n </Flex>\n </header>\n\n {Fields.BusinessName && (\n <>\n <Fields.BusinessName\n label={t('fields.businessName.label')}\n validationMessages={{ REQUIRED: t('validations.businessName') }}\n />\n {Fields.Ein && (\n <Fields.Ein\n label={t('fields.ein.label')}\n validationMessages={{\n INVALID_EIN: t('validations.einFormat'),\n REQUIRED: t('validations.ein'),\n }}\n />\n )}\n </>\n )}\n </Flex>\n\n <Flex gap={12} justifyContent=\"flex-end\">\n <Components.Button\n type=\"submit\"\n variant=\"primary\"\n isDisabled={contractor.status.isPending}\n >\n {contractor.status.isPending\n ? t('selfOnboarding.submitting')\n : t('selfOnboarding.continue')}\n </Components.Button>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["BUSINESS_REQUIRED_FIELDS","BusinessSelfOnboardingProfile","contractorId","onEvent","className","t","useTranslation","Components","useComponentContext","contractor","useContractorDetailsForm","BaseLayout","Fields","handleSubmit","result","componentEvents","jsx","classNames","styles","SDKFormProvider","jsxs","Form","Flex","Fragment"],"mappings":";;;;;;;;;;;;;AAeA,MAAMA,IAAqE;AAAA,EACzE,QAAQ,CAAC,gBAAgB,KAAK;AAChC;AAQO,SAASC,EAA8B;AAAA,EAC5C,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AACF,GAAyC;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GAEbC,IAAaC,EAAyB;AAAA,IAC1C,cAAAR;AAAA,IACA,yBAAyB;AAAA,IACzB,eAAe,EAAE,gBAAgB,GAAA;AAAA,IACjC,yBAAyBF;AAAA,EAAA,CAC1B;AAED,MAAIS,EAAW;AACb,6BAAQE,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAW,cAAc,QAAQ;AAGvE,QAAM,EAAE,QAAAG,MAAWH,EAAW,MAExBI,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAML,EAAW,QAAQ,SAAA;AACxC,IAAKK,MAELX,EAAQY,EAAgB,oBAAoBD,EAAO,IAAI,GACvDX,EAAQY,EAAgB,yBAAyB;AAAA,MAC/C,cAAcD,EAAO,KAAK;AAAA,MAC1B,gBAAgB;AAAA,IAAA,CACjB;AAAA,EACH;AAEA,SACE,gBAAAE,EAAC,WAAA,EAAQ,WAAWC,EAAWC,EAAO,MAAMd,CAAS,GACnD,UAAA,gBAAAY,EAACL,GAAA,EAAW,OAAOF,EAAW,cAAc,QAC1C,UAAA,gBAAAO,EAACG,GAAA,EAAgB,gBAAgBV,GAC/B,UAAA,gBAAAW,EAACC,KAAK,UAAU,MAAA;AAAM,IAAKR,EAAA;AAAA,KACzB,UAAA;AAAA,IAAA,gBAAAO,EAACE,KAAK,eAAc,UAAS,KAAK,IAAI,YAAW,WAC/C,UAAA;AAAA,MAAA,gBAAAN,EAAC,YACC,UAAA,gBAAAI,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,QAAA,gBAAAN,EAACT,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,sBAAsB,GAAE;AAAA,QACvD,gBAAAW,EAACT,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAAF,EAAE,oCAAoC,EAAA,CACzC;AAAA,MAAA,EAAA,CACF,EAAA,CACF;AAAA,MAECO,EAAO,gBACN,gBAAAQ,EAAAG,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAP;AAAA,UAACJ,EAAO;AAAA,UAAP;AAAA,YACC,OAAOP,EAAE,2BAA2B;AAAA,YACpC,oBAAoB,EAAE,UAAUA,EAAE,0BAA0B,EAAA;AAAA,UAAE;AAAA,QAAA;AAAA,QAE/DO,EAAO,OACN,gBAAAI;AAAA,UAACJ,EAAO;AAAA,UAAP;AAAA,YACC,OAAOP,EAAE,kBAAkB;AAAA,YAC3B,oBAAoB;AAAA,cAClB,aAAaA,EAAE,uBAAuB;AAAA,cACtC,UAAUA,EAAE,iBAAiB;AAAA,YAAA;AAAA,UAC/B;AAAA,QAAA;AAAA,MACF,EAAA,CAEJ;AAAA,IAAA,GAEJ;AAAA,IAEA,gBAAAW,EAACM,GAAA,EAAK,KAAK,IAAI,gBAAe,YAC5B,UAAA,gBAAAN;AAAA,MAACT,EAAW;AAAA,MAAX;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,YAAYE,EAAW,OAAO;AAAA,QAE7B,YAAW,OAAO,YACfJ,EAAE,2BAA2B,IAC7BA,EAAE,yBAAyB;AAAA,MAAA;AAAA,IAAA,EACjC,CACF;AAAA,EAAA,GACF,EAAA,CACF,GACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"BusinessSelfOnboardingProfile.js","sources":["../../../../src/components/Contractor/Profile/BusinessSelfOnboardingProfile.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport classNames from 'classnames'\nimport {\n useContractorDetailsForm,\n type ContractorDetailsOptionalFieldsToRequire,\n} from './shared/useContractorDetailsForm'\nimport type { ContractorSelfOnboardingProfileProps } from './SelfOnboardingContractorProfile'\nimport styles from './ContractorProfile.module.scss'\nimport { BaseLayout } from '@/components/Base'\nimport { SDKFormProvider } from '@/partner-hook-utils/form/SDKFormProvider'\nimport { Form } from '@/components/Common/Form'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { componentEvents } from '@/shared/constants'\n\nconst BUSINESS_REQUIRED_FIELDS: ContractorDetailsOptionalFieldsToRequire = {\n update: ['businessName', 'ein'],\n}\n\n/**\n * Self-onboarding profile for a business contractor — collects business name\n * and EIN.\n *\n * @internal\n */\nexport function BusinessSelfOnboardingProfile({\n contractorId,\n onEvent,\n className,\n}: ContractorSelfOnboardingProfileProps) {\n const { t } = useTranslation('Contractor.Profile')\n const Components = useComponentContext()\n\n const contractor = useContractorDetailsForm({\n contractorId,\n withSelfOnboardingField: false,\n defaultValues: { selfOnboarding: true },\n optionalFieldsToRequire: BUSINESS_REQUIRED_FIELDS,\n })\n\n if (contractor.isLoading) {\n return <BaseLayout isLoading error={contractor.errorHandling.errors} />\n }\n\n const { Fields } = contractor.form\n\n const handleSubmit = async () => {\n const result = await contractor.actions.onSubmit()\n if (!result) return\n\n onEvent(componentEvents.CONTRACTOR_UPDATED, result.data)\n onEvent(componentEvents.CONTRACTOR_PROFILE_DONE, {\n contractorId: result.data.uuid,\n onboardingStatus: result.data.onboardingStatus,\n selfOnboarding: true,\n })\n }\n\n return (\n <section className={classNames(styles.root, className)}>\n <BaseLayout error={contractor.errorHandling.errors}>\n <SDKFormProvider formHookResult={contractor}>\n <Form onSubmit={() => void handleSubmit()}>\n <Flex flexDirection=\"column\" gap={20} alignItems=\"stretch\">\n <header>\n <Flex flexDirection=\"column\" gap={4}>\n <Components.Heading as=\"h2\">{t('selfOnboarding.title')}</Components.Heading>\n <Components.Text variant=\"supporting\">\n {t('selfOnboarding.businessDescription')}\n </Components.Text>\n </Flex>\n </header>\n\n {Fields.BusinessName && (\n <>\n <Fields.BusinessName\n label={t('fields.businessName.label')}\n validationMessages={{ REQUIRED: t('validations.businessName') }}\n />\n {Fields.Ein && (\n <Fields.Ein\n label={t('fields.ein.label')}\n validationMessages={{\n INVALID_EIN: t('validations.einFormat'),\n REQUIRED: t('validations.ein'),\n }}\n />\n )}\n </>\n )}\n </Flex>\n\n <Flex gap={12} justifyContent=\"flex-end\">\n <Components.Button\n type=\"submit\"\n variant=\"primary\"\n isDisabled={contractor.status.isPending}\n >\n {contractor.status.isPending\n ? t('selfOnboarding.submitting')\n : t('selfOnboarding.continue')}\n </Components.Button>\n </Flex>\n </Form>\n </SDKFormProvider>\n </BaseLayout>\n </section>\n )\n}\n"],"names":["BUSINESS_REQUIRED_FIELDS","BusinessSelfOnboardingProfile","contractorId","onEvent","className","t","useTranslation","Components","useComponentContext","contractor","useContractorDetailsForm","BaseLayout","Fields","handleSubmit","result","componentEvents","jsx","classNames","styles","SDKFormProvider","jsxs","Form","Flex","Fragment"],"mappings":";;;;;;;;;;;;;AAeA,MAAMA,IAAqE;AAAA,EACzE,QAAQ,CAAC,gBAAgB,KAAK;AAChC;AAQO,SAASC,EAA8B;AAAA,EAC5C,cAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AACF,GAAyC;AACvC,QAAM,EAAE,GAAAC,EAAA,IAAMC,EAAe,oBAAoB,GAC3CC,IAAaC,EAAA,GAEbC,IAAaC,EAAyB;AAAA,IAC1C,cAAAR;AAAA,IACA,yBAAyB;AAAA,IACzB,eAAe,EAAE,gBAAgB,GAAA;AAAA,IACjC,yBAAyBF;AAAA,EAAA,CAC1B;AAED,MAAIS,EAAW;AACb,6BAAQE,GAAA,EAAW,WAAS,IAAC,OAAOF,EAAW,cAAc,QAAQ;AAGvE,QAAM,EAAE,QAAAG,MAAWH,EAAW,MAExBI,IAAe,YAAY;AAC/B,UAAMC,IAAS,MAAML,EAAW,QAAQ,SAAA;AACxC,IAAKK,MAELX,EAAQY,EAAgB,oBAAoBD,EAAO,IAAI,GACvDX,EAAQY,EAAgB,yBAAyB;AAAA,MAC/C,cAAcD,EAAO,KAAK;AAAA,MAC1B,kBAAkBA,EAAO,KAAK;AAAA,MAC9B,gBAAgB;AAAA,IAAA,CACjB;AAAA,EACH;AAEA,SACE,gBAAAE,EAAC,WAAA,EAAQ,WAAWC,EAAWC,EAAO,MAAMd,CAAS,GACnD,UAAA,gBAAAY,EAACL,GAAA,EAAW,OAAOF,EAAW,cAAc,QAC1C,UAAA,gBAAAO,EAACG,GAAA,EAAgB,gBAAgBV,GAC/B,UAAA,gBAAAW,EAACC,KAAK,UAAU,MAAA;AAAM,IAAKR,EAAA;AAAA,KACzB,UAAA;AAAA,IAAA,gBAAAO,EAACE,KAAK,eAAc,UAAS,KAAK,IAAI,YAAW,WAC/C,UAAA;AAAA,MAAA,gBAAAN,EAAC,YACC,UAAA,gBAAAI,EAACE,GAAA,EAAK,eAAc,UAAS,KAAK,GAChC,UAAA;AAAA,QAAA,gBAAAN,EAACT,EAAW,SAAX,EAAmB,IAAG,MAAM,UAAAF,EAAE,sBAAsB,GAAE;AAAA,QACvD,gBAAAW,EAACT,EAAW,MAAX,EAAgB,SAAQ,cACtB,UAAAF,EAAE,oCAAoC,EAAA,CACzC;AAAA,MAAA,EAAA,CACF,EAAA,CACF;AAAA,MAECO,EAAO,gBACN,gBAAAQ,EAAAG,GAAA,EACE,UAAA;AAAA,QAAA,gBAAAP;AAAA,UAACJ,EAAO;AAAA,UAAP;AAAA,YACC,OAAOP,EAAE,2BAA2B;AAAA,YACpC,oBAAoB,EAAE,UAAUA,EAAE,0BAA0B,EAAA;AAAA,UAAE;AAAA,QAAA;AAAA,QAE/DO,EAAO,OACN,gBAAAI;AAAA,UAACJ,EAAO;AAAA,UAAP;AAAA,YACC,OAAOP,EAAE,kBAAkB;AAAA,YAC3B,oBAAoB;AAAA,cAClB,aAAaA,EAAE,uBAAuB;AAAA,cACtC,UAAUA,EAAE,iBAAiB;AAAA,YAAA;AAAA,UAC/B;AAAA,QAAA;AAAA,MACF,EAAA,CAEJ;AAAA,IAAA,GAEJ;AAAA,IAEA,gBAAAW,EAACM,GAAA,EAAK,KAAK,IAAI,gBAAe,YAC5B,UAAA,gBAAAN;AAAA,MAACT,EAAW;AAAA,MAAX;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,YAAYE,EAAW,OAAO;AAAA,QAE7B,YAAW,OAAO,YACfJ,EAAE,2BAA2B,IAC7BA,EAAE,yBAAyB;AAAA,MAAA;AAAA,IAAA,EACjC,CACF;AAAA,EAAA,GACF,EAAA,CACF,GACF,GACF;AAEJ;"}
@@ -68,7 +68,7 @@ export type ContractorProfileProps = ContractorProfileAdminProps | ContractorPro
68
68
  * | ----- | ----------- | ---- |
69
69
  * | `contractor/created` | A new contractor was created successfully. | The created contractor entity |
70
70
  * | `contractor/updated` | An existing contractor was updated successfully. | The updated contractor entity |
71
- * | `contractor/profile/done` | The contractor profile step finished. | `{ contractorId: string, selfOnboarding: boolean }` |
71
+ * | `contractor/profile/done` | The contractor profile step finished. | `{ contractorId: string, onboardingStatus?: string, selfOnboarding: boolean }` |
72
72
  *
73
73
  * @param props - See {@link ContractorProfileProps}.
74
74
  * @returns The rendered contractor profile form.