@gusto/embedded-react-sdk 0.21.0 → 0.23.0-rc.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 (260) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +32 -17
  3. package/dist/assets/icons/eye.svg.js +10 -0
  4. package/dist/assets/icons/eye.svg.js.map +1 -0
  5. package/dist/assets/icons/icon-file-outline.svg.js +10 -0
  6. package/dist/assets/icons/icon-file-outline.svg.js.map +1 -0
  7. package/dist/assets/icons/icon-receipt-outline.svg.js +10 -0
  8. package/dist/assets/icons/icon-receipt-outline.svg.js.map +1 -0
  9. package/dist/components/Base/Base.js.map +1 -1
  10. package/dist/components/Base/index.d.ts +1 -1
  11. package/dist/components/Common/Fields/CheckboxField/CheckboxField.js.map +1 -1
  12. package/dist/components/Common/Fields/CheckboxGroupField/CheckboxGroupField.js.map +1 -1
  13. package/dist/components/Common/Fields/ComboBoxField/ComboBoxField.js.map +1 -1
  14. package/dist/components/Common/Fields/DatePickerField/DatePickerField.js.map +1 -1
  15. package/dist/components/Common/Fields/NumberInputField/NumberInputField.js.map +1 -1
  16. package/dist/components/Common/Fields/RadioGroupField/RadioGroupField.js.map +1 -1
  17. package/dist/components/Common/Fields/SelectField/SelectField.js.map +1 -1
  18. package/dist/components/Common/Fields/SwitchField/SwitchField.js.map +1 -1
  19. package/dist/components/Common/Fields/TextAreaField/TextAreaField.js.map +1 -1
  20. package/dist/components/Common/Fields/TextInputField/TextInputField.js.map +1 -1
  21. package/dist/components/Common/Fieldset/Fieldset.js.map +1 -1
  22. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.d.ts +1 -0
  23. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js +14 -0
  24. package/dist/components/Common/FlowBreadcrumbs/breadcrumbTransitionHelpers.js.map +1 -0
  25. package/dist/components/Common/FlowBreadcrumbs/index.d.ts +1 -0
  26. package/dist/components/Common/PaginationControl/PaginationControlTypes.d.ts +1 -1
  27. package/dist/components/Common/ReorderableList/ReorderableItem.d.ts +1 -1
  28. package/dist/components/Common/ReorderableList/ReorderableItem.js.map +1 -1
  29. package/dist/components/Common/ReorderableList/ReorderableList.js +7 -7
  30. package/dist/components/Common/ReorderableList/ReorderableList.js.map +1 -1
  31. package/dist/components/Common/UI/Badge/BadgeTypes.js.map +1 -1
  32. package/dist/components/Common/UI/Banner/BannerTypes.js.map +1 -1
  33. package/dist/components/Common/UI/Button/ButtonIcon.d.ts +1 -1
  34. package/dist/components/Common/UI/Button/ButtonIcon.js +10 -7
  35. package/dist/components/Common/UI/Button/ButtonIcon.js.map +1 -1
  36. package/dist/components/Common/UI/Button/ButtonTypes.js.map +1 -1
  37. package/dist/components/Common/UI/Checkbox/CheckboxTypes.js.map +1 -1
  38. package/dist/components/Common/UI/CheckboxGroup/CheckboxGroupTypes.js.map +1 -1
  39. package/dist/components/Common/UI/ComboBox/ComboBox.module.scss.js +1 -1
  40. package/dist/components/Common/UI/DatePicker/DatePicker.module.scss.js +7 -7
  41. package/dist/components/Common/UI/Input/InputTypes.js.map +1 -1
  42. package/dist/components/Common/UI/LoadingSpinner/LoadingSpinnerTypes.js.map +1 -1
  43. package/dist/components/Common/UI/Radio/RadioTypes.js.map +1 -1
  44. package/dist/components/Common/UI/RadioGroup/RadioGroupTypes.js.map +1 -1
  45. package/dist/components/Common/UI/Select/Select.module.scss.js +6 -6
  46. package/dist/components/Common/UI/Switch/SwitchTypes.js.map +1 -1
  47. package/dist/components/Common/UI/Table/Table.module.scss.js +1 -1
  48. package/dist/components/Common/UI/Table/TableTypes.js.map +1 -1
  49. package/dist/components/Common/UI/Tabs/Tabs.module.scss.js +5 -5
  50. package/dist/components/Common/UI/TextArea/TextAreaTypes.js.map +1 -1
  51. package/dist/components/Common/UI/TextInput/TextInputTypes.js.map +1 -1
  52. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js +3 -4
  53. package/dist/components/Company/AssignSignatory/CreateSignatory/useCreateSignatory.js.map +1 -1
  54. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js +3 -4
  55. package/dist/components/Company/AssignSignatory/InviteSignatory/useInviteSignatory.js.map +1 -1
  56. package/dist/components/Company/AssignSignatory/useAssignSignatory.js +5 -6
  57. package/dist/components/Company/AssignSignatory/useAssignSignatory.js.map +1 -1
  58. package/dist/components/Company/BankAccount/BankAccountForm/context.js +3 -4
  59. package/dist/components/Company/BankAccount/BankAccountForm/context.js.map +1 -1
  60. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  61. package/dist/components/Company/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  62. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  63. package/dist/components/Company/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  64. package/dist/components/Company/FederalTaxes/useFederalTaxes.js +5 -6
  65. package/dist/components/Company/FederalTaxes/useFederalTaxes.js.map +1 -1
  66. package/dist/components/Company/Industry/Context.js +6 -7
  67. package/dist/components/Company/Industry/Context.js.map +1 -1
  68. package/dist/components/Company/Locations/LocationForm/useLocationForm.js +3 -4
  69. package/dist/components/Company/Locations/LocationForm/useLocationForm.js.map +1 -1
  70. package/dist/components/Company/Locations/LocationsList/useLocationsList.js +3 -4
  71. package/dist/components/Company/Locations/LocationsList/useLocationsList.js.map +1 -1
  72. package/dist/components/Company/OnboardingOverview/context.js +3 -4
  73. package/dist/components/Company/OnboardingOverview/context.js.map +1 -1
  74. package/dist/components/Company/PaySchedule/PaySchedule.js.map +1 -1
  75. package/dist/components/Company/PaySchedule/usePaySchedule.js +5 -6
  76. package/dist/components/Company/PaySchedule/usePaySchedule.js.map +1 -1
  77. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js +3 -4
  78. package/dist/components/Company/StateTaxes/StateTaxesForm/context.js.map +1 -1
  79. package/dist/components/Company/StateTaxes/StateTaxesList/context.js +3 -4
  80. package/dist/components/Company/StateTaxes/StateTaxesList/context.js.map +1 -1
  81. package/dist/components/Company/index.d.ts +2 -0
  82. package/dist/components/Company/index.js +20 -16
  83. package/dist/components/Company/index.js.map +1 -1
  84. package/dist/components/Contractor/Address/useAddress.js +5 -6
  85. package/dist/components/Contractor/Address/useAddress.js.map +1 -1
  86. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.d.ts +7 -0
  87. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js +204 -0
  88. package/dist/components/Contractor/Payments/CreatePayment/CreatePayment.js.map +1 -0
  89. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.d.ts +15 -9
  90. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js +140 -0
  91. package/dist/components/Contractor/Payments/CreatePayment/CreatePaymentPresentation.js.map +1 -0
  92. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.d.ts +39 -0
  93. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js +131 -0
  94. package/dist/components/Contractor/Payments/CreatePayment/EditContractorPaymentPresentation.js.map +1 -0
  95. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.d.ts +11 -0
  96. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js +139 -0
  97. package/dist/components/Contractor/Payments/CreatePayment/PreviewPresentation.js.map +1 -0
  98. package/dist/components/Contractor/Payments/CreatePayment/helpers.d.ts +2 -0
  99. package/dist/components/Contractor/Payments/CreatePayment/helpers.js +6 -0
  100. package/dist/components/Contractor/Payments/CreatePayment/helpers.js.map +1 -0
  101. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.d.ts +2 -0
  102. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js +26 -0
  103. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlow.js.map +1 -0
  104. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.d.ts +16 -0
  105. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js +31 -0
  106. package/dist/components/Contractor/Payments/PaymentFlow/PaymentFlowComponents.js.map +1 -0
  107. package/dist/components/Contractor/Payments/PaymentFlow/index.d.ts +3 -0
  108. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.d.ts +7 -0
  109. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js +122 -0
  110. package/dist/components/Contractor/Payments/PaymentFlow/paymentStateMachine.js.map +1 -0
  111. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.d.ts +8 -0
  112. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js +26 -0
  113. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistory.js.map +1 -0
  114. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.d.ts +17 -15
  115. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js +114 -0
  116. package/dist/components/Contractor/Payments/PaymentHistory/PaymentHistoryPresentation.js.map +1 -0
  117. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.d.ts +9 -0
  118. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js +49 -0
  119. package/dist/components/Contractor/Payments/PaymentsList/PaymentsList.js.map +1 -0
  120. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.d.ts +12 -0
  121. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js +116 -0
  122. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.js.map +1 -0
  123. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js +10 -0
  124. package/dist/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.module.scss.js.map +1 -0
  125. package/dist/components/Contractor/Payments/types.d.ts +8 -0
  126. package/dist/components/Contractor/Profile/useContractorProfile.d.ts +26 -26
  127. package/dist/components/Contractor/Submit/Submit.js.map +1 -1
  128. package/dist/components/Contractor/index.d.ts +1 -0
  129. package/dist/components/Contractor/index.js +4 -2
  130. package/dist/components/Contractor/index.js.map +1 -1
  131. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js +2 -3
  132. package/dist/components/Employee/Deductions/DeductionsForm/ChildSupportForm.js.map +1 -1
  133. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.d.ts +0 -3
  134. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js +62 -77
  135. package/dist/components/Employee/Deductions/DeductionsForm/CustomDeductionForm.js.map +1 -1
  136. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js +83 -50
  137. package/dist/components/Employee/Deductions/DeductionsForm/DeductionsForm.js.map +1 -1
  138. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.d.ts +56 -0
  139. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js +159 -0
  140. package/dist/components/Employee/Deductions/DeductionsForm/GarnishmentForm.js.map +1 -0
  141. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js +3 -4
  142. package/dist/components/Employee/DocumentSigner/DocumentList/useDocumentList.js.map +1 -1
  143. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js +3 -4
  144. package/dist/components/Employee/DocumentSigner/SignatureForm/useSignatureForm.js.map +1 -1
  145. package/dist/components/Employee/EmployeeList/useEmployeeList.js +3 -4
  146. package/dist/components/Employee/EmployeeList/useEmployeeList.js.map +1 -1
  147. package/dist/components/Employee/FederalTaxes/FederalForm.d.ts +22 -7
  148. package/dist/components/Employee/FederalTaxes/FederalForm.js +86 -32
  149. package/dist/components/Employee/FederalTaxes/FederalForm.js.map +1 -1
  150. package/dist/components/Employee/FederalTaxes/FederalTaxes.js +62 -46
  151. package/dist/components/Employee/FederalTaxes/FederalTaxes.js.map +1 -1
  152. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js +3 -4
  153. package/dist/components/Employee/FederalTaxes/useFederalTaxes.js.map +1 -1
  154. package/dist/components/Employee/PaymentMethod/BankAccountsList.js +25 -23
  155. package/dist/components/Employee/PaymentMethod/BankAccountsList.js.map +1 -1
  156. package/dist/components/Employee/PaymentMethod/PaymentMethod.js +116 -106
  157. package/dist/components/Employee/PaymentMethod/PaymentMethod.js.map +1 -1
  158. package/dist/components/Employee/PaymentMethod/Split.js.map +1 -1
  159. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js +5 -6
  160. package/dist/components/Employee/PaymentMethod/usePaymentMethod.js.map +1 -1
  161. package/dist/components/Employee/Profile/AdminPersonalDetails.d.ts +6 -6
  162. package/dist/components/Employee/Profile/PersonalDetailsInputs.d.ts +2 -2
  163. package/dist/components/Employee/Profile/useProfile.js +3 -4
  164. package/dist/components/Employee/Profile/useProfile.js.map +1 -1
  165. package/dist/components/Employee/StateTaxes/useStateTaxes.js +3 -4
  166. package/dist/components/Employee/StateTaxes/useStateTaxes.js.map +1 -1
  167. package/dist/components/Employee/Taxes/FederalForm.d.ts +22 -7
  168. package/dist/components/Employee/Taxes/FederalForm.js +86 -32
  169. package/dist/components/Employee/Taxes/FederalForm.js.map +1 -1
  170. package/dist/components/Employee/Taxes/Taxes.js +97 -81
  171. package/dist/components/Employee/Taxes/Taxes.js.map +1 -1
  172. package/dist/components/Employee/Taxes/useTaxes.js +3 -4
  173. package/dist/components/Employee/Taxes/useTaxes.js.map +1 -1
  174. package/dist/components/Flow/Flow.d.ts +3 -3
  175. package/dist/components/Flow/Flow.js +35 -31
  176. package/dist/components/Flow/Flow.js.map +1 -1
  177. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js +46 -39
  178. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.js.map +1 -1
  179. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.module.scss.js +8 -0
  180. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetails.module.scss.js.map +1 -0
  181. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsBanner/ConfirmWireDetailsBanner.js.map +1 -1
  182. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsComponents.js.map +1 -1
  183. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js +71 -72
  184. package/dist/components/Payroll/ConfirmWireDetails/ConfirmWireDetailsForm/ConfirmWireDetailsForm.js.map +1 -1
  185. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js +21 -22
  186. package/dist/components/Payroll/ConfirmWireDetails/WireInstructions/WireInstructions.js.map +1 -1
  187. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.d.ts +2 -2
  188. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js +19 -19
  189. package/dist/components/Payroll/ConfirmWireDetails/confirmWireDetailsStateMachine.js.map +1 -1
  190. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.d.ts +1 -0
  191. package/dist/components/Payroll/PayrollFlow/PayrollFlowComponents.js.map +1 -1
  192. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js +75 -68
  193. package/dist/components/Payroll/PayrollFlow/payrollStateMachine.js.map +1 -1
  194. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js +66 -65
  195. package/dist/components/Payroll/PayrollHistory/PayrollHistoryPresentation.js.map +1 -1
  196. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js +127 -103
  197. package/dist/components/Payroll/PayrollOverview/PayrollOverview.js.map +1 -1
  198. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js +254 -185
  199. package/dist/components/Payroll/PayrollOverview/PayrollOverviewPresentation.js.map +1 -1
  200. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/{FastAchThresholdExceeded.d.ts → FastAchSubmissionBlockerBanner.d.ts} +2 -2
  201. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js +55 -0
  202. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchSubmissionBlockerBanner.js.map +1 -0
  203. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/index.d.ts +1 -1
  204. package/dist/components/Payroll/PayrollReceipts/PayrollReceiptsPresentation.module.scss.js +1 -1
  205. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js +1 -1
  206. package/dist/components/Payroll/PayrollStatusBadges/payrollStatusConfig.js.map +1 -1
  207. package/dist/components/Payroll/index.d.ts +1 -1
  208. package/dist/components/Payroll/index.js +8 -6
  209. package/dist/components/Payroll/index.js.map +1 -1
  210. package/dist/components/Payroll/usePreparedPayrollData.js +6 -7
  211. package/dist/components/Payroll/usePreparedPayrollData.js.map +1 -1
  212. package/dist/contexts/ComponentAdapter/componentAdapterTypes.d.ts +4 -1
  213. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js +9 -11
  214. package/dist/contexts/GustoProvider/GustoProviderCustomUIAdapter.js.map +1 -1
  215. package/dist/contexts/LocaleProvider/useLocale.d.ts +6 -3
  216. package/dist/contexts/LocaleProvider/useLocale.js +12 -9
  217. package/dist/contexts/LocaleProvider/useLocale.js.map +1 -1
  218. package/dist/helpers/currencyHelpers.d.ts +2 -0
  219. package/dist/helpers/currencyHelpers.js +6 -0
  220. package/dist/helpers/currencyHelpers.js.map +1 -0
  221. package/dist/helpers/formattedStrings.js +11 -12
  222. package/dist/helpers/formattedStrings.js.map +1 -1
  223. package/dist/i18n/I18n.js +10 -10
  224. package/dist/i18n/I18n.js.map +1 -1
  225. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js +40 -0
  226. package/dist/i18n/en/Contractor.Payments.CreatePayment.json.js.map +1 -0
  227. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js +24 -0
  228. package/dist/i18n/en/Contractor.Payments.PaymentHistory.json.js.map +1 -0
  229. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js +36 -0
  230. package/dist/i18n/en/Contractor.Payments.PaymentsList.json.js.map +1 -0
  231. package/dist/i18n/en/Employee.Deductions.json.js +58 -46
  232. package/dist/i18n/en/Employee.Deductions.json.js.map +1 -1
  233. package/dist/i18n/en/Employee.FederalTaxes.json.js +49 -41
  234. package/dist/i18n/en/Employee.FederalTaxes.json.js.map +1 -1
  235. package/dist/i18n/en/Employee.Taxes.json.js +53 -45
  236. package/dist/i18n/en/Employee.Taxes.json.js.map +1 -1
  237. package/dist/i18n/en/Payroll.ConfirmWireDetailsForm.json.js +5 -5
  238. package/dist/i18n/en/Payroll.PayrollConfiguration.json.js +1 -1
  239. package/dist/i18n/en/Payroll.PayrollList.json.js +5 -5
  240. package/dist/i18n/en/Payroll.PayrollOverview.json.js +35 -31
  241. package/dist/i18n/en/Payroll.PayrollOverview.json.js.map +1 -1
  242. package/dist/shared/constants.d.ts +18 -0
  243. package/dist/shared/constants.js +73 -59
  244. package/dist/shared/constants.js.map +1 -1
  245. package/dist/style.css +1 -1
  246. package/dist/types/i18next.d.ts +182 -125
  247. package/package.json +18 -18
  248. package/dist/components/Contractor/Payments/Detail/DetailPresentation.d.ts +0 -19
  249. package/dist/components/Contractor/Payments/Overview/OverviewPresentation.d.ts +0 -18
  250. package/dist/components/Contractor/Payments/PaymentEdit/PaymentEditPresentation.d.ts +0 -6
  251. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js +0 -52
  252. package/dist/components/Payroll/PayrollOverview/SubmissionBlockers/FastAchThresholdExceeded.js.map +0 -1
  253. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js +0 -32
  254. package/dist/i18n/en/ContractorPayment.ContractorPaymentCreatePayment.json.js.map +0 -1
  255. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js +0 -24
  256. package/dist/i18n/en/ContractorPayment.ContractorPaymentDetail.json.js.map +0 -1
  257. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js +0 -32
  258. package/dist/i18n/en/ContractorPayment.ContractorPaymentOverview.json.js.map +0 -1
  259. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js +0 -32
  260. package/dist/i18n/en/ContractorPayment.ContractorPaymentPaymentHistory.json.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentsListPresentation.js","sources":["../../../../../src/components/Contractor/Payments/PaymentsList/PaymentsListPresentation.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport type { ContractorPaymentGroupWithBlockers } from '@gusto/embedded-api/models/components/contractorpaymentgroupwithblockers'\nimport type { InternalAlert } from '../types'\nimport styles from './PaymentsListPresentation.module.scss'\nimport { DataView, Flex, EmptyData, ActionsLayout, useDataView } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport useNumberFormatter from '@/hooks/useNumberFormatter'\nimport EyeIcon from '@/assets/icons/eye.svg?react'\nimport { useDateFormatter } from '@/hooks/useDateFormatter'\n\ninterface ContractorPaymentPaymentsListPresentationProps {\n numberOfMonths: number\n contractorPayments: ContractorPaymentGroupWithBlockers[]\n onCreatePayment: () => void\n onDateRangeChange: (numberOfMonths: number) => void\n onViewPayment: (paymentId: string) => void\n alerts?: InternalAlert[]\n}\n\nexport const PaymentsListPresentation = ({\n contractorPayments,\n numberOfMonths,\n onCreatePayment,\n onDateRangeChange,\n onViewPayment,\n alerts = [],\n}: ContractorPaymentPaymentsListPresentationProps) => {\n const { Button, Text, Heading, Select, ButtonIcon, Alert } = useComponentContext()\n useI18n('Contractor.Payments.PaymentsList')\n const { t } = useTranslation('Contractor.Payments.PaymentsList')\n const currencyFormatter = useNumberFormatter('currency')\n const { formatLongWithYear } = useDateFormatter()\n\n const dateRangeOptions = [\n { value: '3', label: t('dateRanges.last3Months') },\n { value: '6', label: t('dateRanges.last6Months') },\n { value: '12', label: t('dateRanges.last12Months') },\n ]\n const { ...dataViewProps } = useDataView({\n data: contractorPayments,\n columns: [\n {\n title: t('paymentDateColumnLabel'),\n render: ({ checkDate }) => (\n <Text weight=\"semibold\" variant=\"supporting\">\n {formatLongWithYear(checkDate) || 'N/A'}\n </Text>\n ),\n },\n {\n title: t('reimbursementTotalColumnLabel'),\n render: ({ totals }) => (\n <Text>{currencyFormatter(Number(totals?.reimbursementAmount) || 0)}</Text>\n ),\n },\n {\n title: t('wageTotalColumnLabel'),\n render: ({ totals }) => <Text>{currencyFormatter(Number(totals?.wageAmount || 0))}</Text>,\n },\n {\n title: t('actionColumnLabel'),\n render: ({ uuid }) => (\n <Text>\n <ButtonIcon\n aria-label={t('viewPaymentCta')}\n variant=\"tertiary\"\n onClick={() => {\n onViewPayment(uuid || '')\n }}\n >\n <EyeIcon aria-hidden />\n </ButtonIcon>\n </Text>\n ),\n },\n ],\n emptyState: () => (\n <EmptyData title={t('noPaymentsFound')} description={t('noPaymentsDescription')}>\n <ActionsLayout justifyContent=\"center\">\n <Button variant=\"primary\" onClick={onCreatePayment}>\n {t('createPaymentCta')}\n </Button>\n </ActionsLayout>\n </EmptyData>\n ),\n })\n\n return (\n <Flex flexDirection=\"column\" gap={24}>\n <Flex flexDirection=\"column\" gap={16}>\n <Heading as=\"h1\">{t('title')}</Heading>\n </Flex>\n\n {alerts.length > 0 && (\n <Flex flexDirection=\"column\" gap={16}>\n {alerts.map((alert, index) => (\n <Alert\n key={`${alert.type}-${alert.title}-${index}`}\n label={t(`alerts.${alert.title}` as never, alert.translationParams)}\n status={alert.type}\n onDismiss={alert.onDismiss}\n >\n {alert.content ?? null}\n </Alert>\n ))}\n </Flex>\n )}\n\n <Flex\n flexDirection={{\n base: 'column',\n small: 'row',\n }}\n gap={16}\n alignItems={{\n base: 'stretch',\n small: 'flex-end',\n }}\n justifyContent=\"space-between\"\n >\n <Heading as=\"h2\">{t('subtitle')}</Heading>\n <div className={styles.actionsContainer}>\n <Select\n id=\"date-range-select\"\n value={numberOfMonths.toString()}\n onChange={value => {\n onDateRangeChange(Number(value))\n }}\n options={dateRangeOptions}\n isRequired\n label={t('startDate')}\n shouldVisuallyHideLabel\n />\n <Button onClick={onCreatePayment} variant=\"secondary\" className={styles.nowrap}>\n {t('createPaymentCta')}\n </Button>\n </div>\n </Flex>\n\n <DataView label={t('subtitle')} {...dataViewProps} />\n </Flex>\n )\n}\n"],"names":["PaymentsListPresentation","contractorPayments","numberOfMonths","onCreatePayment","onDateRangeChange","onViewPayment","alerts","Button","Text","Heading","Select","ButtonIcon","Alert","useComponentContext","useI18n","useTranslation","currencyFormatter","useNumberFormatter","formatLongWithYear","useDateFormatter","dateRangeOptions","dataViewProps","useDataView","checkDate","jsx","totals","uuid","EyeIcon","EmptyData","ActionsLayout","jsxs","Flex","alert","index","styles","value","DataView"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ const n = "_actionsContainer_1nbjv_1", o = "_nowrap_1nbjv_17", t = {
2
+ actionsContainer: n,
3
+ nowrap: o
4
+ };
5
+ export {
6
+ n as actionsContainer,
7
+ t as default,
8
+ o as nowrap
9
+ };
10
+ //# sourceMappingURL=PaymentsListPresentation.module.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentsListPresentation.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,4 +1,12 @@
1
1
  import { ContractorPaymentGroup, ContractorPaymentGroupTotals } from '@gusto/embedded-api/models/components/contractorpaymentgroup';
2
2
  import { ContractorPaymentForGroup } from '@gusto/embedded-api/models/components/contractorpaymentforgroup';
3
+ import { ReactNode } from 'react';
3
4
  export type { ContractorPaymentGroup, ContractorPaymentForGroup, ContractorPaymentGroupTotals };
4
5
  export type ContractorPaymentGroupMinimal = Omit<ContractorPaymentGroup, 'contractorPayments'>;
6
+ export type InternalAlert = {
7
+ type: 'error' | 'info' | 'success';
8
+ title: string;
9
+ content?: ReactNode;
10
+ onDismiss?: () => void;
11
+ translationParams?: Record<string, unknown>;
12
+ };
@@ -22,10 +22,10 @@ declare const ContractorProfileSchema: z.ZodObject<{
22
22
  ein: z.ZodOptional<z.ZodString>;
23
23
  hourlyRate: z.ZodOptional<z.ZodNumber>;
24
24
  }, "strip", z.ZodTypeAny, {
25
+ wageType: "Hourly" | "Fixed";
26
+ startDate: Date;
25
27
  selfOnboarding: boolean;
26
28
  contractorType: "Business" | "Individual";
27
- startDate: Date;
28
- wageType: "Hourly" | "Fixed";
29
29
  ssn?: string | undefined;
30
30
  ein?: string | undefined;
31
31
  email?: string | undefined;
@@ -35,10 +35,10 @@ declare const ContractorProfileSchema: z.ZodObject<{
35
35
  hourlyRate?: number | undefined;
36
36
  middleInitial?: string | undefined;
37
37
  }, {
38
+ wageType: "Hourly" | "Fixed";
39
+ startDate: Date;
38
40
  selfOnboarding: boolean;
39
41
  contractorType: "Business" | "Individual";
40
- startDate: Date;
41
- wageType: "Hourly" | "Fixed";
42
42
  ssn?: string | undefined;
43
43
  ein?: string | undefined;
44
44
  email?: string | undefined;
@@ -63,10 +63,10 @@ export declare const createContractorProfileValidationSchema: (t: (key: string)
63
63
  ein: z.ZodOptional<z.ZodString>;
64
64
  hourlyRate: z.ZodOptional<z.ZodNumber>;
65
65
  }, "strip", z.ZodTypeAny, {
66
+ wageType: "Hourly" | "Fixed";
67
+ startDate: Date;
66
68
  selfOnboarding: boolean;
67
69
  contractorType: "Business" | "Individual";
68
- startDate: Date;
69
- wageType: "Hourly" | "Fixed";
70
70
  ssn?: string | undefined;
71
71
  ein?: string | undefined;
72
72
  email?: string | undefined;
@@ -76,10 +76,10 @@ export declare const createContractorProfileValidationSchema: (t: (key: string)
76
76
  hourlyRate?: number | undefined;
77
77
  middleInitial?: string | undefined;
78
78
  }, {
79
+ wageType: "Hourly" | "Fixed";
80
+ startDate: Date;
79
81
  selfOnboarding: boolean;
80
82
  contractorType: "Business" | "Individual";
81
- startDate: Date;
82
- wageType: "Hourly" | "Fixed";
83
83
  ssn?: string | undefined;
84
84
  ein?: string | undefined;
85
85
  email?: string | undefined;
@@ -89,10 +89,10 @@ export declare const createContractorProfileValidationSchema: (t: (key: string)
89
89
  hourlyRate?: number | undefined;
90
90
  middleInitial?: string | undefined;
91
91
  }>, {
92
+ wageType: "Hourly" | "Fixed";
93
+ startDate: Date;
92
94
  selfOnboarding: boolean;
93
95
  contractorType: "Business" | "Individual";
94
- startDate: Date;
95
- wageType: "Hourly" | "Fixed";
96
96
  ssn?: string | undefined;
97
97
  ein?: string | undefined;
98
98
  email?: string | undefined;
@@ -102,10 +102,10 @@ export declare const createContractorProfileValidationSchema: (t: (key: string)
102
102
  hourlyRate?: number | undefined;
103
103
  middleInitial?: string | undefined;
104
104
  }, {
105
+ wageType: "Hourly" | "Fixed";
106
+ startDate: Date;
105
107
  selfOnboarding: boolean;
106
108
  contractorType: "Business" | "Individual";
107
- startDate: Date;
108
- wageType: "Hourly" | "Fixed";
109
109
  ssn?: string | undefined;
110
110
  ein?: string | undefined;
111
111
  email?: string | undefined;
@@ -123,10 +123,10 @@ export interface UseContractorProfileProps {
123
123
  }
124
124
  export declare function useContractorProfile({ companyId, contractorId, defaultValues, existingContractor, }: UseContractorProfileProps): {
125
125
  formMethods: import('react-hook-form').UseFormReturn<{
126
+ wageType: "Hourly" | "Fixed";
127
+ startDate: Date;
126
128
  selfOnboarding: boolean;
127
129
  contractorType: "Business" | "Individual";
128
- startDate: Date;
129
- wageType: "Hourly" | "Fixed";
130
130
  ssn?: string | undefined;
131
131
  ein?: string | undefined;
132
132
  email?: string | undefined;
@@ -136,10 +136,10 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
136
136
  hourlyRate?: number | undefined;
137
137
  middleInitial?: string | undefined;
138
138
  }, unknown, {
139
+ wageType: "Hourly" | "Fixed";
140
+ startDate: Date;
139
141
  selfOnboarding: boolean;
140
142
  contractorType: "Business" | "Individual";
141
- startDate: Date;
142
- wageType: "Hourly" | "Fixed";
143
143
  ssn?: string | undefined;
144
144
  ein?: string | undefined;
145
145
  email?: string | undefined;
@@ -161,10 +161,10 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
161
161
  disabled: boolean;
162
162
  submitCount: number;
163
163
  defaultValues?: Readonly<{
164
+ wageType?: "Hourly" | "Fixed" | undefined;
165
+ startDate?: Date | undefined;
164
166
  selfOnboarding?: boolean | undefined;
165
167
  contractorType?: "Business" | "Individual" | undefined;
166
- startDate?: Date | undefined;
167
- wageType?: "Hourly" | "Fixed" | undefined;
168
168
  ssn?: string | undefined;
169
169
  ein?: string | undefined;
170
170
  email?: string | undefined;
@@ -175,10 +175,10 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
175
175
  middleInitial?: string | undefined;
176
176
  }> | undefined;
177
177
  dirtyFields: Partial<Readonly<{
178
+ wageType?: boolean | undefined;
179
+ startDate?: boolean | undefined;
178
180
  selfOnboarding?: boolean | undefined;
179
181
  contractorType?: boolean | undefined;
180
- startDate?: boolean | undefined;
181
- wageType?: boolean | undefined;
182
182
  ssn?: boolean | undefined;
183
183
  ein?: boolean | undefined;
184
184
  email?: boolean | undefined;
@@ -189,10 +189,10 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
189
189
  middleInitial?: boolean | undefined;
190
190
  }>>;
191
191
  touchedFields: Partial<Readonly<{
192
+ wageType?: boolean | undefined;
193
+ startDate?: boolean | undefined;
192
194
  selfOnboarding?: boolean | undefined;
193
195
  contractorType?: boolean | undefined;
194
- startDate?: boolean | undefined;
195
- wageType?: boolean | undefined;
196
196
  ssn?: boolean | undefined;
197
197
  ein?: boolean | undefined;
198
198
  email?: boolean | undefined;
@@ -203,10 +203,10 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
203
203
  middleInitial?: boolean | undefined;
204
204
  }>>;
205
205
  validatingFields: Partial<Readonly<{
206
+ wageType?: boolean | undefined;
207
+ startDate?: boolean | undefined;
206
208
  selfOnboarding?: boolean | undefined;
207
209
  contractorType?: boolean | undefined;
208
- startDate?: boolean | undefined;
209
- wageType?: boolean | undefined;
210
210
  ssn?: boolean | undefined;
211
211
  ein?: boolean | undefined;
212
212
  email?: boolean | undefined;
@@ -217,10 +217,10 @@ export declare function useContractorProfile({ companyId, contractorId, defaultV
217
217
  middleInitial?: boolean | undefined;
218
218
  }>>;
219
219
  errors: import('react-hook-form').FieldErrors<{
220
+ wageType: "Hourly" | "Fixed";
221
+ startDate: Date;
220
222
  selfOnboarding: boolean;
221
223
  contractorType: "Business" | "Individual";
222
- startDate: Date;
223
- wageType: "Hourly" | "Fixed";
224
224
  ssn?: string | undefined;
225
225
  ein?: string | undefined;
226
226
  email?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Submit.js","sources":["../../../../src/components/Contractor/Submit/Submit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/contractorsGetOnboardingStatus'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { SubmitDone } from './SubmitDone'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\nexport interface ContractorSubmitProps\n extends CommonComponentInterface<'Contractor.ContractorList'> {\n contractorId: string\n selfOnboarding?: boolean\n}\n\nexport function ContractorSubmit(props: ContractorSubmitProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ contractorId, selfOnboarding }: ContractorSubmitProps) => {\n useI18n('Contractor.Submit')\n const { Alert, Button, UnorderedList } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n const { onEvent, baseSubmitHandler } = useBase()\n const items = Object.values(t('warningItems', { returnObjects: true }))\n\n const { data } = useContractorsGetOnboardingStatusSuspense({\n contractorUuid: contractorId,\n })\n const onboardingStatus = data.contractorOnboardingStatus?.onboardingStatus\n\n const { mutateAsync } = useContractorsUpdateOnboardingStatusMutation()\n\n const onSubmit = async () => {\n await baseSubmitHandler(null, async () => {\n const response = await mutateAsync({\n request: {\n contractorUuid: contractorId,\n requestBody: { onboardingStatus: ContractorOnboardingStatus.ONBOARDING_COMPLETED },\n },\n })\n onEvent(\n componentEvents.CONTRACTOR_ONBOARDING_STATUS_UPDATED,\n response.contractorOnboardingStatus,\n )\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, { message: t('submitDone.successMessage') })\n })\n }\n const handleInviteContractor = () => {\n onEvent(componentEvents.CONTRACTOR_INVITE_CONTRACTOR, { contractorId })\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n message: t('inviteContractor.successMessage'),\n })\n }\n\n const handleSubmitDone = () => {\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n onboardingStatus,\n message: t('submitDone.successMessage'),\n })\n }\n\n if (onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED) {\n return <SubmitDone onDone={handleSubmitDone} />\n }\n if (\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED &&\n selfOnboarding\n ) {\n return <InviteContractor onSubmit={handleInviteContractor} contractorId={contractorId} />\n }\n\n return (\n <>\n <Alert label={t('title')} status=\"warning\">\n <UnorderedList items={items} />\n </Alert>\n <Flex flexDirection=\"column\" alignItems=\"flex-end\">\n <Button title={t('submitCta')} onClick={onSubmit}>\n {t('submitCta')}\n </Button>\n </Flex>\n </>\n )\n}\n\nconst InviteContractor = ({\n onSubmit,\n contractorId,\n}: {\n onSubmit: () => void\n contractorId: string\n}) => {\n const { t } = useTranslation('Contractor.Submit', { keyPrefix: 'inviteContractor' })\n const { Button, Heading, Text } = useComponentContext()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n\n return (\n <Flex flexDirection=\"column\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text>{t('description')}</Text>\n <Flex flexDirection=\"column\">\n <div>\n <Text>\n {firstLastName({\n first_name: contractor?.firstName,\n last_name: contractor?.lastName,\n })}\n </Text>\n <Text>{contractor?.email}</Text>\n </div>\n <div>\n <Text>{t('startDateLabel')}</Text>\n <Text>{contractor?.startDate}</Text>\n </div>\n </Flex>\n <Button title={t('inviteCta')} onClick={onSubmit}>\n {t('inviteCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["ContractorSubmit","props","jsx","BaseComponent","Root","contractorId","selfOnboarding","useI18n","Alert","Button","UnorderedList","useComponentContext","t","useTranslation","onEvent","baseSubmitHandler","useBase","items","data","useContractorsGetOnboardingStatusSuspense","onboardingStatus","mutateAsync","useContractorsUpdateOnboardingStatusMutation","onSubmit","response","ContractorOnboardingStatus","componentEvents","handleInviteContractor","handleSubmitDone","SubmitDone","InviteContractor","jsxs","Fragment","Flex","Heading","Text","contractorData","useContractorsGetSuspense","contractor","firstLastName"],"mappings":"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"}
1
+ {"version":3,"file":"Submit.js","sources":["../../../../src/components/Contractor/Submit/Submit.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { useContractorsUpdateOnboardingStatusMutation } from '@gusto/embedded-api/react-query/contractorsUpdateOnboardingStatus'\nimport { useContractorsGetOnboardingStatusSuspense } from '@gusto/embedded-api/react-query/contractorsGetOnboardingStatus'\nimport { useContractorsGetSuspense } from '@gusto/embedded-api/react-query/contractorsGet'\nimport { SubmitDone } from './SubmitDone'\nimport { Flex } from '@/components/Common'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { useI18n } from '@/i18n'\nimport {\n BaseComponent,\n useBase,\n type BaseComponentInterface,\n type CommonComponentInterface,\n} from '@/components/Base'\nimport { componentEvents, ContractorOnboardingStatus } from '@/shared/constants'\nimport { firstLastName } from '@/helpers/formattedStrings'\n\nexport interface ContractorSubmitProps extends CommonComponentInterface<'Contractor.ContractorList'> {\n contractorId: string\n selfOnboarding?: boolean\n}\n\nexport function ContractorSubmit(props: ContractorSubmitProps & BaseComponentInterface) {\n return (\n <BaseComponent {...props}>\n <Root {...props}>{props.children}</Root>\n </BaseComponent>\n )\n}\n\nexport const Root = ({ contractorId, selfOnboarding }: ContractorSubmitProps) => {\n useI18n('Contractor.Submit')\n const { Alert, Button, UnorderedList } = useComponentContext()\n const { t } = useTranslation('Contractor.Submit')\n const { onEvent, baseSubmitHandler } = useBase()\n const items = Object.values(t('warningItems', { returnObjects: true }))\n\n const { data } = useContractorsGetOnboardingStatusSuspense({\n contractorUuid: contractorId,\n })\n const onboardingStatus = data.contractorOnboardingStatus?.onboardingStatus\n\n const { mutateAsync } = useContractorsUpdateOnboardingStatusMutation()\n\n const onSubmit = async () => {\n await baseSubmitHandler(null, async () => {\n const response = await mutateAsync({\n request: {\n contractorUuid: contractorId,\n requestBody: { onboardingStatus: ContractorOnboardingStatus.ONBOARDING_COMPLETED },\n },\n })\n onEvent(\n componentEvents.CONTRACTOR_ONBOARDING_STATUS_UPDATED,\n response.contractorOnboardingStatus,\n )\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, { message: t('submitDone.successMessage') })\n })\n }\n const handleInviteContractor = () => {\n onEvent(componentEvents.CONTRACTOR_INVITE_CONTRACTOR, { contractorId })\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n message: t('inviteContractor.successMessage'),\n })\n }\n\n const handleSubmitDone = () => {\n onEvent(componentEvents.CONTRACTOR_SUBMIT_DONE, {\n onboardingStatus,\n message: t('submitDone.successMessage'),\n })\n }\n\n if (onboardingStatus === ContractorOnboardingStatus.ONBOARDING_COMPLETED) {\n return <SubmitDone onDone={handleSubmitDone} />\n }\n if (\n onboardingStatus === ContractorOnboardingStatus.SELF_ONBOARDING_NOT_INVITED &&\n selfOnboarding\n ) {\n return <InviteContractor onSubmit={handleInviteContractor} contractorId={contractorId} />\n }\n\n return (\n <>\n <Alert label={t('title')} status=\"warning\">\n <UnorderedList items={items} />\n </Alert>\n <Flex flexDirection=\"column\" alignItems=\"flex-end\">\n <Button title={t('submitCta')} onClick={onSubmit}>\n {t('submitCta')}\n </Button>\n </Flex>\n </>\n )\n}\n\nconst InviteContractor = ({\n onSubmit,\n contractorId,\n}: {\n onSubmit: () => void\n contractorId: string\n}) => {\n const { t } = useTranslation('Contractor.Submit', { keyPrefix: 'inviteContractor' })\n const { Button, Heading, Text } = useComponentContext()\n\n const { data: contractorData } = useContractorsGetSuspense({ contractorUuid: contractorId })\n const contractor = contractorData.contractor\n\n return (\n <Flex flexDirection=\"column\">\n <Heading as=\"h2\">{t('title')}</Heading>\n <Text>{t('description')}</Text>\n <Flex flexDirection=\"column\">\n <div>\n <Text>\n {firstLastName({\n first_name: contractor?.firstName,\n last_name: contractor?.lastName,\n })}\n </Text>\n <Text>{contractor?.email}</Text>\n </div>\n <div>\n <Text>{t('startDateLabel')}</Text>\n <Text>{contractor?.startDate}</Text>\n </div>\n </Flex>\n <Button title={t('inviteCta')} onClick={onSubmit}>\n {t('inviteCta')}\n </Button>\n </Flex>\n )\n}\n"],"names":["ContractorSubmit","props","jsx","BaseComponent","Root","contractorId","selfOnboarding","useI18n","Alert","Button","UnorderedList","useComponentContext","t","useTranslation","onEvent","baseSubmitHandler","useBase","items","data","useContractorsGetOnboardingStatusSuspense","onboardingStatus","mutateAsync","useContractorsUpdateOnboardingStatusMutation","onSubmit","response","ContractorOnboardingStatus","componentEvents","handleInviteContractor","handleSubmitDone","SubmitDone","InviteContractor","jsxs","Fragment","Flex","Heading","Text","contractorData","useContractorsGetSuspense","contractor","firstLastName"],"mappings":";;;;;;;;;;;;;;;AAsBO,SAASA,EAAiBC,GAAuD;AACtF,SACE,gBAAAC,EAACC,GAAA,EAAe,GAAGF,GACjB,UAAA,gBAAAC,EAACE,KAAM,GAAGH,GAAQ,UAAAA,EAAM,SAAA,CAAS,EAAA,CACnC;AAEJ;AAEO,MAAMG,IAAO,CAAC,EAAE,cAAAC,GAAc,gBAAAC,QAA4C;AAC/E,EAAAC,EAAQ,mBAAmB;AAC3B,QAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,eAAAC,EAAA,IAAkBC,EAAA,GACnC,EAAE,GAAAC,EAAA,IAAMC,EAAe,mBAAmB,GAC1C,EAAE,SAAAC,GAAS,mBAAAC,EAAA,IAAsBC,EAAA,GACjCC,IAAQ,OAAO,OAAOL,EAAE,gBAAgB,EAAE,eAAe,GAAA,CAAM,CAAC,GAEhE,EAAE,MAAAM,EAAA,IAASC,EAA0C;AAAA,IACzD,gBAAgBd;AAAA,EAAA,CACjB,GACKe,IAAmBF,EAAK,4BAA4B,kBAEpD,EAAE,aAAAG,EAAA,IAAgBC,EAAA,GAElBC,IAAW,YAAY;AAC3B,UAAMR,EAAkB,MAAM,YAAY;AACxC,YAAMS,IAAW,MAAMH,EAAY;AAAA,QACjC,SAAS;AAAA,UACP,gBAAgBhB;AAAA,UAChB,aAAa,EAAE,kBAAkBoB,EAA2B,qBAAA;AAAA,QAAqB;AAAA,MACnF,CACD;AACD,MAAAX;AAAA,QACEY,EAAgB;AAAA,QAChBF,EAAS;AAAA,MAAA,GAEXV,EAAQY,EAAgB,wBAAwB,EAAE,SAASd,EAAE,2BAA2B,GAAG;AAAA,IAC7F,CAAC;AAAA,EACH,GACMe,IAAyB,MAAM;AACnC,IAAAb,EAAQY,EAAgB,8BAA8B,EAAE,cAAArB,EAAA,CAAc,GACtES,EAAQY,EAAgB,wBAAwB;AAAA,MAC9C,SAASd,EAAE,iCAAiC;AAAA,IAAA,CAC7C;AAAA,EACH,GAEMgB,IAAmB,MAAM;AAC7B,IAAAd,EAAQY,EAAgB,wBAAwB;AAAA,MAC9C,kBAAAN;AAAA,MACA,SAASR,EAAE,2BAA2B;AAAA,IAAA,CACvC;AAAA,EACH;AAEA,SAAIQ,MAAqBK,EAA2B,uBAC3C,gBAAAvB,EAAC2B,GAAA,EAAW,QAAQD,EAAA,CAAkB,IAG7CR,MAAqBK,EAA2B,+BAChDnB,IAEO,gBAAAJ,EAAC4B,GAAA,EAAiB,UAAUH,GAAwB,cAAAtB,EAAA,CAA4B,IAIvF,gBAAA0B,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAA9B,EAACM,GAAA,EAAM,OAAOI,EAAE,OAAO,GAAG,QAAO,WAC/B,UAAA,gBAAAV,EAACQ,GAAA,EAAc,OAAAO,EAAA,CAAc,EAAA,CAC/B;AAAA,sBACCgB,GAAA,EAAK,eAAc,UAAS,YAAW,YACtC,UAAA,gBAAA/B,EAACO,GAAA,EAAO,OAAOG,EAAE,WAAW,GAAG,SAASW,GACrC,UAAAX,EAAE,WAAW,GAChB,EAAA,CACF;AAAA,EAAA,GACF;AAEJ,GAEMkB,IAAmB,CAAC;AAAA,EACxB,UAAAP;AAAA,EACA,cAAAlB;AACF,MAGM;AACJ,QAAM,EAAE,GAAAO,MAAMC,EAAe,qBAAqB,EAAE,WAAW,oBAAoB,GAC7E,EAAE,QAAAJ,GAAQ,SAAAyB,GAAS,MAAAC,EAAA,IAASxB,EAAA,GAE5B,EAAE,MAAMyB,EAAA,IAAmBC,EAA0B,EAAE,gBAAgBhC,GAAc,GACrFiC,IAAaF,EAAe;AAElC,SACE,gBAAAL,EAACE,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,IAAA,gBAAA/B,EAACgC,GAAA,EAAQ,IAAG,MAAM,UAAAtB,EAAE,OAAO,GAAE;AAAA,IAC7B,gBAAAV,EAACiC,GAAA,EAAM,UAAAvB,EAAE,aAAa,EAAA,CAAE;AAAA,IACxB,gBAAAmB,EAACE,GAAA,EAAK,eAAc,UAClB,UAAA;AAAA,MAAA,gBAAAF,EAAC,OAAA,EACC,UAAA;AAAA,QAAA,gBAAA7B,EAACiC,KACE,UAAAI,EAAc;AAAA,UACb,YAAYD,GAAY;AAAA,UACxB,WAAWA,GAAY;AAAA,QAAA,CACxB,GACH;AAAA,QACA,gBAAApC,EAACiC,GAAA,EAAM,UAAAG,GAAY,MAAA,CAAM;AAAA,MAAA,GAC3B;AAAA,wBACC,OAAA,EACC,UAAA;AAAA,QAAA,gBAAApC,EAACiC,GAAA,EAAM,UAAAvB,EAAE,gBAAgB,EAAA,CAAE;AAAA,QAC3B,gBAAAV,EAACiC,GAAA,EAAM,UAAAG,GAAY,UAAA,CAAU;AAAA,MAAA,EAAA,CAC/B;AAAA,IAAA,GACF;AAAA,IACA,gBAAApC,EAACO,GAAA,EAAO,OAAOG,EAAE,WAAW,GAAG,SAASW,GACrC,UAAAX,EAAE,WAAW,EAAA,CAChB;AAAA,EAAA,GACF;AAEJ;"}
@@ -6,3 +6,4 @@ export { NewHireReport } from './NewHireReport/NewHireReport';
6
6
  export { ContractorSubmit } from './Submit/Submit';
7
7
  export { ContractorProfile } from './Profile';
8
8
  export { OnboardingFlow } from './OnboardingFlow/OnboardingFlow';
9
+ export { PaymentFlow } from './Payments/PaymentFlow';
@@ -4,14 +4,16 @@ import { NewHireReport as p } from "./NewHireReport/NewHireReport.js";
4
4
  import { ContractorSubmit as n } from "./Submit/Submit.js";
5
5
  import { OnboardingFlow as i } from "./OnboardingFlow/OnboardingFlow.js";
6
6
  import { Address as c } from "./Address/Address.js";
7
- import { ContractorProfile as C } from "./Profile/ContractorProfile.js";
7
+ import { ContractorProfile as s } from "./Profile/ContractorProfile.js";
8
+ import { PaymentFlow as C } from "./Payments/PaymentFlow/PaymentFlow.js";
8
9
  export {
9
10
  c as Address,
10
11
  m as ContractorList,
11
- C as ContractorProfile,
12
+ s as ContractorProfile,
12
13
  n as ContractorSubmit,
13
14
  p as NewHireReport,
14
15
  i as OnboardingFlow,
16
+ C as PaymentFlow,
15
17
  t as PaymentMethod
16
18
  };
17
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -23,7 +23,6 @@ import "@tanstack/react-query";
23
23
  import { useBase as Z } from "../../../Base/useBase.js";
24
24
  import "../../../../contexts/LoadingIndicatorProvider/useLoadingIndicator.js";
25
25
  import "dompurify";
26
- import "../../../../contexts/LocaleProvider/useLocale.js";
27
26
  import { SelectField as d } from "../../../Common/Fields/SelectField/SelectField.js";
28
27
  const ee = 0, re = 0, te = 100, ne = i.nativeEnum(H), ie = i.object({
29
28
  state: i.string(),
@@ -35,7 +34,7 @@ const ee = 0, re = 0, te = 100, ne = i.nativeEnum(H), ie = i.object({
35
34
  payPeriodMaximum: i.number().min(0).transform((r) => r > 0 ? r.toString() : null).nullable(),
36
35
  paymentPeriod: ne
37
36
  });
38
- function qe({
37
+ function ve({
39
38
  deduction: r,
40
39
  handleStateAgencySelect: M,
41
40
  stateAgencies: S,
@@ -217,6 +216,6 @@ function qe({
217
216
  ] }) }) });
218
217
  }
219
218
  export {
220
- qe as default
219
+ ve as default
221
220
  };
222
221
  //# sourceMappingURL=ChildSupportForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChildSupportForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/ChildSupportForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useEffect, useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { PaymentPeriod } from '@gusto/embedded-api/models/components/garnishmentchildsupport'\nimport type { GarnishmentType } from '@gusto/embedded-api/models/operations/postv1employeesemployeeidgarnishments'\nimport { type Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api/react-query/garnishmentsUpdate'\nimport { type Agencies } from '@gusto/embedded-api/models/components/childsupportdata'\nimport styles from './ChildSupportForm.module.scss'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { ActionsLayout } from '@/components/Common'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { NumberInputField, TextInputField, SelectField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nconst MINIMUM_PAY_PERIOD_AMOUNT = 0\nconst MINIMUM_PAYCHECK_PERCENTAGE = 0\nconst MAXIMUM_PAYCHECK_PERCENTAGE = 100\n\nconst ChildSupportPaymentPeriodSchema = z.nativeEnum(PaymentPeriod)\nconst ChildSupportSchema = z.object({\n state: z.string(),\n fipsCode: z.string(),\n caseNumber: z.string().nullable(),\n orderNumber: z.string().nullable(),\n remittanceNumber: z.string().nullable(),\n amount: z.number().min(0).transform(String),\n payPeriodMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n paymentPeriod: ChildSupportPaymentPeriodSchema,\n})\n\nexport type ChildSupportInputs = z.input<typeof ChildSupportSchema>\nexport type ChildSupportPayload = z.output<typeof ChildSupportSchema>\n\ninterface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n handleStateAgencySelect: (stateAgency: string) => void\n stateAgencies: { label: string; value: string }[]\n counties: { label: string; value: string }[]\n selectedAgency?: Agencies\n}\n\nfunction ChildSupportForm({\n deduction,\n handleStateAgencySelect,\n stateAgencies,\n counties,\n employeeId,\n selectedAgency,\n}: ChildSupportFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n\n const ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER = {\n case_number: {\n name: 'caseNumber',\n description: t('caseNumberDescription'),\n },\n order_number: {\n name: 'orderNumber',\n description: t('orderNumberDescription'),\n },\n remittance_number: {\n name: 'remittanceNumber',\n description: t('remittanceNumberDescription'),\n },\n }\n const requiredSelectedAgencyAttributes =\n selectedAgency?.requiredAttributes?.map(attr => {\n return {\n name: ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER[attr.key!].name,\n label: attr.label as string,\n description: ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER[attr.key!].description,\n }\n }) || []\n\n const { mutateAsync: createDeduction, isPending: isPendingCreate } =\n useGarnishmentsCreateMutation()\n const { mutateAsync: updateDeduction, isPending: isPendingUpdate } =\n useGarnishmentsUpdateMutation()\n const isPending = isPendingCreate || isPendingUpdate\n\n const defaultChildSupportValues: ChildSupportInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n payPeriodMaximum: deduction?.payPeriodMaximum ? Number(deduction.payPeriodMaximum) : null,\n state: deduction?.childSupport?.state || '',\n fipsCode: deduction?.childSupport?.fipsCode || '',\n caseNumber: deduction?.childSupport?.caseNumber || null,\n orderNumber: deduction?.childSupport?.orderNumber || null,\n remittanceNumber: deduction?.childSupport?.remittanceNumber || null,\n paymentPeriod: deduction?.childSupport?.paymentPeriod as PaymentPeriod,\n }\n }, [deduction])\n\n const childSupportFormMethods = useForm<ChildSupportInputs, unknown, ChildSupportPayload>({\n resolver: zodResolver(ChildSupportSchema),\n defaultValues: defaultChildSupportValues,\n })\n const { reset: resetChildSupportForm, setValue, control } = childSupportFormMethods\n const watchedStateAgency = useWatch({ control, name: 'state' })\n\n useEffect(() => {\n resetChildSupportForm(defaultChildSupportValues)\n }, [deduction, defaultChildSupportValues, resetChildSupportForm])\n\n // if in edit mode and user elects to change state agency, reset the required attribute values\n // as new selected agency might require different payload inputs, e.g. OH requires case number + order number\n useEffect(() => {\n setValue('caseNumber', null)\n setValue('orderNumber', null)\n setValue('remittanceNumber', null)\n }, [watchedStateAgency, setValue])\n\n const onChildSupportSubmit: SubmitHandler<ChildSupportPayload> = async data => {\n const childSupport = {\n state: data.state,\n paymentPeriod: data.paymentPeriod,\n fipsCode: data.fipsCode,\n caseNumber: data.caseNumber,\n orderNumber: data.orderNumber,\n remittanceNumber: data.remittanceNumber,\n }\n\n await baseSubmitHandler(data, async payload => {\n const requestBody = {\n active: true,\n amount: payload.amount,\n description: `Child Support - ${childSupport.caseNumber}`, // child support description follows prefix type + case number convention\n courtOrdered: true,\n garnishmentType: 'child_support' as GarnishmentType,\n times: null,\n deductAsPercentage: true, // child support must always deduct as percentage up to a pay period maximum limit and is recurring until cancelled\n payPeriodMaximum: payload.payPeriodMaximum,\n recurring: true,\n childSupport,\n }\n\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_CREATED, createDeductionResponse)\n } else {\n const { garnishment: updateDeductionResponse } = await updateDeduction({\n request: {\n garnishmentId: deduction.uuid,\n requestBody: {\n ...requestBody,\n version: deduction.version as string,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const isManualPaymentRequired = selectedAgency?.manualPaymentRequired\n\n return (\n <FormProvider {...childSupportFormMethods}>\n <Form onSubmit={childSupportFormMethods.handleSubmit(onChildSupportSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <Components.Heading as=\"h3\">{t('childSupportTitle')}</Components.Heading>\n <SelectField\n name=\"state\"\n label={t('agency')}\n description={t('agencyDescription')}\n options={stateAgencies}\n onChange={handleStateAgencySelect}\n isRequired\n />\n {watchedStateAgency && (\n <>\n <SelectField\n name=\"fipsCode\"\n label={t('county')}\n description={t('countyDescription')}\n options={counties}\n isRequired\n />\n {/* render required inputs for respective agency, e.g. OH requires case number + order number */}\n {requiredSelectedAgencyAttributes.map(({ name, label, description }) => (\n <TextInputField\n key={name}\n name={name}\n label={label}\n description={description}\n isRequired\n />\n ))}\n <NumberInputField\n name=\"payPeriodMaximum\"\n label={t('totalAmountWithheld')}\n description={t('totalAmountWithheldDescription')}\n min={MINIMUM_PAY_PERIOD_AMOUNT}\n adornmentStart=\"$\"\n isRequired\n />\n <NumberInputField\n name=\"amount\"\n label={t('maxPaycheckPercentage')}\n description={t('maxPaycheckPercentageDescription')}\n isRequired\n min={MINIMUM_PAYCHECK_PERCENTAGE}\n max={MAXIMUM_PAYCHECK_PERCENTAGE}\n adornmentEnd=\"%\"\n />\n <SelectField\n name=\"paymentPeriod\"\n label={t('per')}\n description={t('perDescription')}\n options={[\n {\n label: t('everyWeek'),\n value: 'Every week',\n },\n {\n label: t('everyOtherWeek'),\n value: 'Every other week',\n },\n {\n label: t('twicePerMonth'),\n value: 'Twice per month',\n },\n {\n label: t('monthly'),\n value: 'Monthly',\n },\n ]}\n isRequired\n />\n {isManualPaymentRequired && (\n <section className={styles.manualPaymentReminderBanner}>\n <Components.Text weight=\"bold\">{t('manualPaymentRequired')}</Components.Text>\n <Components.Text>{t('manualPaymentRequiredDescription')}</Components.Text>\n </section>\n )}\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default ChildSupportForm\n"],"names":["MINIMUM_PAY_PERIOD_AMOUNT","MINIMUM_PAYCHECK_PERCENTAGE","MAXIMUM_PAYCHECK_PERCENTAGE","ChildSupportPaymentPeriodSchema","z","PaymentPeriod","ChildSupportSchema","val","ChildSupportForm","deduction","handleStateAgencySelect","stateAgencies","counties","employeeId","selectedAgency","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER","requiredSelectedAgencyAttributes","attr","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultChildSupportValues","useMemo","childSupportFormMethods","useForm","zodResolver","resetChildSupportForm","setValue","control","watchedStateAgency","useWatch","useEffect","onChildSupportSubmit","data","childSupport","payload","requestBody","updateDeductionResponse","componentEvents","createDeductionResponse","isManualPaymentRequired","FormProvider","jsx","Form","jsxs","Flex","SelectField","Fragment","name","label","description","TextInputField","NumberInputField","styles","ActionsLayout"],"mappings":"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"}
1
+ {"version":3,"file":"ChildSupportForm.js","sources":["../../../../../src/components/Employee/Deductions/DeductionsForm/ChildSupportForm.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next'\nimport { FormProvider, useForm, useWatch, type SubmitHandler } from 'react-hook-form'\nimport { useEffect, useMemo } from 'react'\nimport { z } from 'zod'\nimport { zodResolver } from '@hookform/resolvers/zod'\nimport { PaymentPeriod } from '@gusto/embedded-api/models/components/garnishmentchildsupport'\nimport type { GarnishmentType } from '@gusto/embedded-api/models/operations/postv1employeesemployeeidgarnishments'\nimport { type Garnishment } from '@gusto/embedded-api/models/components/garnishment'\nimport { useGarnishmentsCreateMutation } from '@gusto/embedded-api/react-query/garnishmentsCreate'\nimport { useGarnishmentsUpdateMutation } from '@gusto/embedded-api/react-query/garnishmentsUpdate'\nimport { type Agencies } from '@gusto/embedded-api/models/components/childsupportdata'\nimport styles from './ChildSupportForm.module.scss'\nimport { useComponentContext } from '@/contexts/ComponentAdapter/useComponentContext'\nimport { Form } from '@/components/Common/Form'\nimport { ActionsLayout } from '@/components/Common'\nimport { Flex } from '@/components/Common/Flex/Flex'\nimport { NumberInputField, TextInputField, SelectField } from '@/components/Common'\nimport { type CommonComponentInterface, useBase } from '@/components/Base'\nimport { componentEvents } from '@/shared/constants'\n\nconst MINIMUM_PAY_PERIOD_AMOUNT = 0\nconst MINIMUM_PAYCHECK_PERCENTAGE = 0\nconst MAXIMUM_PAYCHECK_PERCENTAGE = 100\n\nconst ChildSupportPaymentPeriodSchema = z.nativeEnum(PaymentPeriod)\nconst ChildSupportSchema = z.object({\n state: z.string(),\n fipsCode: z.string(),\n caseNumber: z.string().nullable(),\n orderNumber: z.string().nullable(),\n remittanceNumber: z.string().nullable(),\n amount: z.number().min(0).transform(String),\n payPeriodMaximum: z\n .number()\n .min(0)\n .transform(val => (val > 0 ? val.toString() : null))\n .nullable(),\n paymentPeriod: ChildSupportPaymentPeriodSchema,\n})\n\nexport type ChildSupportInputs = z.input<typeof ChildSupportSchema>\nexport type ChildSupportPayload = z.output<typeof ChildSupportSchema>\n\ninterface ChildSupportFormProps extends CommonComponentInterface<'Employee.Deductions'> {\n employeeId: string\n deduction?: Garnishment | null\n handleStateAgencySelect: (stateAgency: string) => void\n stateAgencies: { label: string; value: string }[]\n counties: { label: string; value: string }[]\n selectedAgency?: Agencies\n}\n\nfunction ChildSupportForm({\n deduction,\n handleStateAgencySelect,\n stateAgencies,\n counties,\n employeeId,\n selectedAgency,\n}: ChildSupportFormProps) {\n const { onEvent, baseSubmitHandler } = useBase()\n const { t } = useTranslation('Employee.Deductions')\n const Components = useComponentContext()\n\n const ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER = {\n case_number: {\n name: 'caseNumber',\n description: t('caseNumberDescription'),\n },\n order_number: {\n name: 'orderNumber',\n description: t('orderNumberDescription'),\n },\n remittance_number: {\n name: 'remittanceNumber',\n description: t('remittanceNumberDescription'),\n },\n }\n const requiredSelectedAgencyAttributes =\n selectedAgency?.requiredAttributes?.map(attr => {\n return {\n name: ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER[attr.key!].name,\n label: attr.label as string,\n description: ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER[attr.key!].description,\n }\n }) || []\n\n const { mutateAsync: createDeduction, isPending: isPendingCreate } =\n useGarnishmentsCreateMutation()\n const { mutateAsync: updateDeduction, isPending: isPendingUpdate } =\n useGarnishmentsUpdateMutation()\n const isPending = isPendingCreate || isPendingUpdate\n\n const defaultChildSupportValues: ChildSupportInputs = useMemo(() => {\n return {\n amount: deduction?.amount ? Number(deduction.amount) : 0,\n payPeriodMaximum: deduction?.payPeriodMaximum ? Number(deduction.payPeriodMaximum) : null,\n state: deduction?.childSupport?.state || '',\n fipsCode: deduction?.childSupport?.fipsCode || '',\n caseNumber: deduction?.childSupport?.caseNumber || null,\n orderNumber: deduction?.childSupport?.orderNumber || null,\n remittanceNumber: deduction?.childSupport?.remittanceNumber || null,\n paymentPeriod: deduction?.childSupport?.paymentPeriod as PaymentPeriod,\n }\n }, [deduction])\n\n const childSupportFormMethods = useForm<ChildSupportInputs, unknown, ChildSupportPayload>({\n resolver: zodResolver(ChildSupportSchema),\n defaultValues: defaultChildSupportValues,\n })\n const { reset: resetChildSupportForm, setValue, control } = childSupportFormMethods\n const watchedStateAgency = useWatch({ control, name: 'state' })\n\n useEffect(() => {\n resetChildSupportForm(defaultChildSupportValues)\n }, [deduction, defaultChildSupportValues, resetChildSupportForm])\n\n // if in edit mode and user elects to change state agency, reset the required attribute values\n // as new selected agency might require different payload inputs, e.g. OH requires case number + order number\n useEffect(() => {\n setValue('caseNumber', null)\n setValue('orderNumber', null)\n setValue('remittanceNumber', null)\n }, [watchedStateAgency, setValue])\n\n const onChildSupportSubmit: SubmitHandler<ChildSupportPayload> = async data => {\n const childSupport = {\n state: data.state,\n paymentPeriod: data.paymentPeriod,\n fipsCode: data.fipsCode,\n caseNumber: data.caseNumber,\n orderNumber: data.orderNumber,\n remittanceNumber: data.remittanceNumber,\n }\n\n await baseSubmitHandler(data, async payload => {\n const requestBody = {\n active: true,\n amount: payload.amount,\n description: `Child Support - ${childSupport.caseNumber}`, // child support description follows prefix type + case number convention\n courtOrdered: true,\n garnishmentType: 'child_support' as GarnishmentType,\n times: null,\n deductAsPercentage: true, // child support must always deduct as percentage up to a pay period maximum limit and is recurring until cancelled\n payPeriodMaximum: payload.payPeriodMaximum,\n recurring: true,\n childSupport,\n }\n\n if (!deduction) {\n const { garnishment: createDeductionResponse } = await createDeduction({\n request: {\n employeeId,\n requestBody,\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_CREATED, createDeductionResponse)\n } else {\n const { garnishment: updateDeductionResponse } = await updateDeduction({\n request: {\n garnishmentId: deduction.uuid,\n requestBody: {\n ...requestBody,\n version: deduction.version as string,\n },\n },\n })\n onEvent(componentEvents.EMPLOYEE_DEDUCTION_UPDATED, updateDeductionResponse)\n }\n })\n }\n\n const isManualPaymentRequired = selectedAgency?.manualPaymentRequired\n\n return (\n <FormProvider {...childSupportFormMethods}>\n <Form onSubmit={childSupportFormMethods.handleSubmit(onChildSupportSubmit)}>\n <Flex flexDirection=\"column\" gap={32}>\n <Components.Heading as=\"h3\">{t('childSupportTitle')}</Components.Heading>\n <SelectField\n name=\"state\"\n label={t('agency')}\n description={t('agencyDescription')}\n options={stateAgencies}\n onChange={handleStateAgencySelect}\n isRequired\n />\n {watchedStateAgency && (\n <>\n <SelectField\n name=\"fipsCode\"\n label={t('county')}\n description={t('countyDescription')}\n options={counties}\n isRequired\n />\n {/* render required inputs for respective agency, e.g. OH requires case number + order number */}\n {requiredSelectedAgencyAttributes.map(({ name, label, description }) => (\n <TextInputField\n key={name}\n name={name}\n label={label}\n description={description}\n isRequired\n />\n ))}\n <NumberInputField\n name=\"payPeriodMaximum\"\n label={t('totalAmountWithheld')}\n description={t('totalAmountWithheldDescription')}\n min={MINIMUM_PAY_PERIOD_AMOUNT}\n adornmentStart=\"$\"\n isRequired\n />\n <NumberInputField\n name=\"amount\"\n label={t('maxPaycheckPercentage')}\n description={t('maxPaycheckPercentageDescription')}\n isRequired\n min={MINIMUM_PAYCHECK_PERCENTAGE}\n max={MAXIMUM_PAYCHECK_PERCENTAGE}\n adornmentEnd=\"%\"\n />\n <SelectField\n name=\"paymentPeriod\"\n label={t('per')}\n description={t('perDescription')}\n options={[\n {\n label: t('everyWeek'),\n value: 'Every week',\n },\n {\n label: t('everyOtherWeek'),\n value: 'Every other week',\n },\n {\n label: t('twicePerMonth'),\n value: 'Twice per month',\n },\n {\n label: t('monthly'),\n value: 'Monthly',\n },\n ]}\n isRequired\n />\n {isManualPaymentRequired && (\n <section className={styles.manualPaymentReminderBanner}>\n <Components.Text weight=\"bold\">{t('manualPaymentRequired')}</Components.Text>\n <Components.Text>{t('manualPaymentRequiredDescription')}</Components.Text>\n </section>\n )}\n <ActionsLayout>\n <Components.Button type=\"submit\" isLoading={isPending}>\n {t('saveCta')}\n </Components.Button>\n </ActionsLayout>\n </>\n )}\n </Flex>\n </Form>\n </FormProvider>\n )\n}\n\nexport default ChildSupportForm\n"],"names":["MINIMUM_PAY_PERIOD_AMOUNT","MINIMUM_PAYCHECK_PERCENTAGE","MAXIMUM_PAYCHECK_PERCENTAGE","ChildSupportPaymentPeriodSchema","z","PaymentPeriod","ChildSupportSchema","val","ChildSupportForm","deduction","handleStateAgencySelect","stateAgencies","counties","employeeId","selectedAgency","onEvent","baseSubmitHandler","useBase","t","useTranslation","Components","useComponentContext","ATTR_KEY_TO_TEXT_FIELD_NAME_MAPPER","requiredSelectedAgencyAttributes","attr","createDeduction","isPendingCreate","useGarnishmentsCreateMutation","updateDeduction","isPendingUpdate","useGarnishmentsUpdateMutation","isPending","defaultChildSupportValues","useMemo","childSupportFormMethods","useForm","zodResolver","resetChildSupportForm","setValue","control","watchedStateAgency","useWatch","useEffect","onChildSupportSubmit","data","childSupport","payload","requestBody","updateDeductionResponse","componentEvents","createDeductionResponse","isManualPaymentRequired","FormProvider","jsx","Form","jsxs","Flex","SelectField","Fragment","name","label","description","TextInputField","NumberInputField","styles","ActionsLayout"],"mappings":"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"}
@@ -5,7 +5,6 @@ export declare const DeductionSchema: z.ZodObject<{
5
5
  active: z.ZodBoolean;
6
6
  amount: z.ZodEffects<z.ZodNumber, string, number>;
7
7
  description: z.ZodString;
8
- courtOrdered: z.ZodBoolean;
9
8
  times: z.ZodNullable<z.ZodNumber>;
10
9
  recurring: z.ZodBoolean;
11
10
  annualMaximum: z.ZodNullable<z.ZodEffects<z.ZodNumber, string | null, number>>;
@@ -17,7 +16,6 @@ export declare const DeductionSchema: z.ZodObject<{
17
16
  totalAmount: string | null;
18
17
  amount: string;
19
18
  recurring: boolean;
20
- courtOrdered: boolean;
21
19
  times: number | null;
22
20
  annualMaximum: string | null;
23
21
  deductAsPercentage: boolean;
@@ -27,7 +25,6 @@ export declare const DeductionSchema: z.ZodObject<{
27
25
  totalAmount: number | null;
28
26
  amount: number;
29
27
  recurring: boolean;
30
- courtOrdered: boolean;
31
28
  times: number | null;
32
29
  annualMaximum: number | null;
33
30
  deductAsPercentage: boolean;